2017-05-18 14 views
0

dateというコマンドを変数として指定して、変数を呼び出すときに実行する方法を教えてください。変数としてbashコマンドを指定して実行時に実行する

DATE=`date +%H:%M:%S` 
echo "$DATE" 
sleep 5 
echo "$DATE" # Date displays the original time, not the current one 

-

EDIT 1anubhavaさんの提案によると:

echo "${freshdate[0]}" # 19:25:50 
sleep 5 
echo "${freshdate[0]}" # 19:25:50 
+0

コマンドを格納するための関数や配列を使用します行 – anubhava

答えて

2

最も簡単には、このようなシェル関数でこのコマンドをラップすることです:

dt() { date '+%H:%M:%S'; } 

次にどこにのようにそれにアクセスしたい、それを使用します。

echo "Time now is: $(dt)" 
Time now is: 13:34:30 
+1

良い説明。ご回答有難うございます! –

-1

freshdate[0]=`date +%H:%M:%S` 

しかし、これはにはなりません。あなたはすることができます

DATE=(date +%H:%M:%S) 
${DATE[@]} 
sleep 5 
${DATE[@]} 

と異なる時間が表示されます。

+0

はい、それは新しい時刻を表示しますが、新しい時刻を 'echo'したいです(長い文字列に統合する)。 'echo"の行に沿ったものFoo bar baz $ DATE [@] "'それ、どうやったら出来るの? –

関連する問題