Я хочу сделать 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.
Какой правильный способ сделать это, чтобы команда date получила один правильный аргумент?
nice_date="date +%Y-%m-%d-%H:%M:%S"
, это работает. В настоящее время я не вижу, как защитить это пространство от второй оболочки.
"%F %T"
если вы используете GNUdate
.