回答編集履歴

2

追記

2018/12/14 03:54

投稿

otn
otn

スコア84576

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

1

誤字訂正

2018/12/14 03:54

投稿

otn
otn

スコア84576

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