我'試圖輸出內嵌狀態與日期的毗連字符串和eval
now="date -Iseconds"
echo "[" eval $now echo "] my log status"
這個返送管線
now="date -Iseconds"
echo "["; eval $now; echo "] my log status"
我不whant做
now=`date -Iseconds`
因爲實時時鐘在2個日誌狀態之間並存儲變量初始化的時間
我'試圖輸出內嵌狀態與日期的毗連字符串和eval
now="date -Iseconds"
echo "[" eval $now echo "] my log status"
這個返送管線
now="date -Iseconds"
echo "["; eval $now; echo "] my log status"
我不whant做
now=`date -Iseconds`
因爲實時時鐘在2個日誌狀態之間並存儲變量初始化的時間
使用功能:
now() { date -Iseconds; }
echo "[$(now)] my log status"
更妙的是,你可以使用一個函數,將輸出你的消息,除了前面日期:
msg_now() { printf '[%s] %s\n' "$(date -Iseconds)" "$*"; }
和使用:
msg_now "my log status"
mutch thx,乾淨的編碼 – jelineau
你可以用只是回聲做到這一切
echo $(date -Iseconds) my log status;
# 2017-08-16T01:18:25+00:00 my log status
如果您不知道自己在做什麼,請不要使用eval。您可以使用子shell'echo「[$($ now)]我的日誌狀態」'。但是你也不應該把命令保存到變量中,所以你可以使用一個數組來代替'now =(date -Iseconds)'並使用'$ {now [@]}'來訪問。 – 123
*參數*可以保存在一個數組中; *命令*應該包裝在一個函數中。 – chepner
@chepner怎麼回事? – 123