У меня есть этот сценарий:
date_time=`date "+%Y%m%d%H%M%S"`
script_name=`basename "$0"`
echo $date_time, $script_name
sleep 2
echo $date_time, $script_name
exit 1
Это показывает мне это (то же время).
20200103114357, clone.sh
20200103114357, clone.sh
Мне нужна дата и время, когда я называю переменную как команду. Между следующим разом существует 2 секунды, но время является тем же. Как я могу сделать это?Спасибо.
Ваш код хранит результат команды в переменной, таким образом, это никогда не изменяется. Для хранения самой команды в переменной Вам нужны некоторые тонкие изменения в используемых кавычках, как это:
date_time="date +%Y%m%d%H%M%S"
script_name=`basename "[110]"`
echo `$date_time`, $script_name
sleep 2
echo `$date_time`, $script_name
exit 1
Установите время даты после сна снова:
script_name=`basename "[110]"`
date_time=`date "+%Y%m%d%H%M%S"`
echo $date_time, $script_name
sleep 2
date_time=`date "+%Y%m%d%H%M%S"`
echo $date_time, $script_name
exit 1