teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2018/12/14 03:54

投稿

otn
otn

スコア86349

answer CHANGED
@@ -1,2 +1,19 @@
1
1
  更新というか、変数`DATE`への値のセットは、ループが始まる前に一度行っているだけなので、その時の値がずっと保たれています。
2
- 値を更新したいなら、ループの中で更新しないと。
2
+ 値を更新したいなら、ループの中で更新しないと。
3
+
4
+ #追記
5
+ 質問文の日本語を見ると、`DATE`に日時を格納したいのじゃなくて、`DATE`には「日時を表示するコマンド」を格納したかったと言う事でしょうか?
6
+ であれば、
7
+ ```Bash
8
+ DATE="date '+%Y/%m/%d %H:%M:%S'"
9
+ でコマンドの文字列を代入して、
10
+ eval $DATE
11
+ で実行します。
12
+ ```
13
+ あるいは、変数じゃなくて関数を使って、
14
+ ```Bash
15
+ DATE() { date '+%Y/%m/%d %H:%M:%S'; }
16
+ と関数定義して、
17
+ DATE
18
+ で実行します。
19
+ ```

1

誤字訂正

2018/12/14 03:54

投稿

otn
otn

スコア86349

answer CHANGED
@@ -1,2 +1,2 @@
1
- 更新というか、変数`DATE`への値のセットは、ループが始まる前に一度行っているkだけなので、その時の値がずっと保たれています。
1
+ 更新というか、変数`DATE`への値のセットは、ループが始まる前に一度行っているだけなので、その時の値がずっと保たれています。
2
2
  値を更新したいなら、ループの中で更新しないと。