12

dateコマンドを使用して、今日の日付を形式で出力しようとしています%d.%m.%y-%H:%M:%S。明らかに、私は次のようにします:

date +%d.%m.%y-%H:%M:%S

これは bash では問題なく動作し、期待どおりの出力が得られますが、zsh でこれを行うと、たとえば、「7m」という接頭辞が付けられた期待どおりの結果が得られます。

7m07.09.12-16:49:37

それ以外の

07.09.12-16:49:37

また、端末からアラートを受け取ります。これは、%Sfor seconds が原因です。コマンドの最後からそれを外すと、「7m」が得られないためです (ただし、日付の終わりから秒が抜けていることは明らかです)。

なぜこれが起こるのか誰か説明できますか?

編集:追加情報:私はOS X 10.8を使用しており、zsh 4.3.11、oh-my-zshがインストールされています

4

3 に答える 3

16

回避策の 1 つは、コードをラップすることですecho $(...)。それは正しい出力を生成し、私にとっては受け入れられました. 元のコマンドは次のようになります。

echo $(date +%d.%m.%y-%H:%M:%S)
于 2013-08-31T12:28:09.770 に答える
3

私は同じ問題を抱えていましたが、 https: //github.com/robbyrussell/oh-my-zsh/issues/521 で提案されているように、.oh-my-zsh/lib/termsupport.zsh の 12 行目をコメントアウトすることで解決できました。

于 2012-10-23T14:15:59.557 に答える