私はdate
このような素晴らしいフォーマットでコマンドを作りたいです:
$ date +"%Y-%m-%d %H:%M:%S"
2015-09-17 16:51:58
しかし、これを変数に保存したいので、次のようなスクリプトから呼び出すことができます。
echo "$(nice_date) [WARNING] etc etc"
しかし、それは動作しません
$ nice_date="date +%Y-%m-%d %H:%M:%S"
$ echo "$($nice_date)"
date: extra operand ‘%H:%M:%S’
Try 'date --help' for more information.
$ nice_date="date +\"%Y-%m-%d %H:%M:%S\""
$ echo "$($nice_date)"
date: extra operand ‘%H:%M:%S"’
Try 'date --help' for more information.
$ nice_date='date +"%Y-%m-%d %H:%M:%S"'
$ echo "$($nice_date)"
date: extra operand ‘%H:%M:%S"’
Try 'date --help' for more information.
これを行う正しい方法は何ですか?そのため、その日付コマンドは1つの正しい引数を取得しますか?
問題はスペースです。を使用すると
—
MadHatter
nice_date="date +%Y-%m-%d-%H:%M:%S"
、機能します。現在、2番目のシェルからそのスペースを保護する方法はわかりません。
"%F %T"
GNUを使用している場合は、日付形式文字列を短縮できますdate
。