如何将命令date
指定为变量,以便在调用所述变量时执行它?
DATE=`date +%H:%M:%S`
echo "$DATE"
sleep 5
echo "$DATE" # Date displays the original time, not the current one
-
编辑1 : 根据 anubhava 的建议:
freshdate[0]=`date +%H:%M:%S`
但是,这不会导致:
echo "${freshdate[0]}" # 19:25:50
sleep 5
echo "${freshdate[0]}" # 19:25:50
答案 0 :(得分:2)
最简单的方法是将此命令包装在这样的shell函数中:
dt() { date '+%H:%M:%S'; }
然后在任何想要访问它的地方使用它,如:
echo "Time now is: $(dt)"
Time now is: 13:34:30
答案 1 :(得分:-1)
你可以做到
DATE=(date +%H:%M:%S)
${DATE[@]}
sleep 5
${DATE[@]}
并会显示不同的时间。