【问题标题】:short date in bash PS1 promptbash PS1 提示符中的短日期
【发布时间】:2012-02-08 20:26:26
【问题描述】:

您可以在 PS1 配置中使用 \d 来显示长日期,即。 5 月 18 日星期二,但我怎样才能让它以 18.05.2012 等格式显示呢?

【问题讨论】:

    标签: bash ps1


    【解决方案1】:

    尝试包括\D{%d.%m.%Y}。您可以使用strftime(3)支持的任何时间格式。

    【讨论】:

    • 这应该被接受,因为它使用 shell 替换而不是子 shell 中的外部命令。
    【解决方案2】:

    试试这个:

    PS1="\$(date +%d.%m.%Y) > "
    export PS1
    

    【讨论】:

    • 最好按照下面的 FatalError 答案使用 shell 替换。
    【解决方案3】:

    使用 \D{format} 其中 format 是 strftime 格式代码。 例如:

    $ export PS1='\D{%d.%m.%Y}$ '
    08.02.2012$
    

    【讨论】:

    • 解决我的问题的好方法。但是,您是如何制作这种永久性的呢?
    • 根据您的平台,您可以将这些自定义设置在 ~/.bash_profile 中,在启动新的交互式 shell 时读取。
    【解决方案4】:

    与其告诉shell每次都执行date命令,不如使用内置格式。因此,您也可以使用(尽管与您所要求的有所不同)

    \D{%F %T}

    给你日期和时间。 日期格式:YYYY-MM-DD 时间格式为 hh:mm:ss。

    【讨论】:

      【解决方案5】:

      你可以试试这个显示时间:

      $ PS1="\n\t \u@\h:\w# "
      
      08:18:57 user@localhost:/home/user#
      

      【讨论】:

        【解决方案6】:

        我不确定如何将其专门应用于 PS1(也许有人可以编辑此问题以用其他问题中的最佳工作位替换此部分)。

        但是您可以根据您当前的语言环境获取短日期格式:

        date +%x
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-04-16
          • 2022-01-20
          • 2012-12-14
          • 1970-01-01
          • 2015-12-03
          • 2014-09-08
          • 1970-01-01
          相关资源
          最近更新 更多