私はこのようなことをしています
#!/bin/bash
END=3
time_w = 1
for ((i=1;i<=END;i++)); do
# do something
sleep time_w
done
しかし、私は得た。
sleep: invalid time interval ‘time_w’
答え1
2つの間違いを犯しました。
では、
bash
変数宣言の周りにスペースがあってはならないので、=
宣言は次のようになります。time_w=1
コマンドでは、変数自体ではなく変数
sleep time_w
の値を取得する必要があります。time_w
"$time_w"
sleep "$time_w"
答え2
を使用する必要があります。変数が算術式()内にない場合は、変数の前に付ける必要が$time_w
あります。$
bash
((...))
#!/bin/bash
END=3
time_w=1
for ((i=1;i<=END;i++)); do
# do something
echo "$i sleeping for $time_w"
sleep "$time_w"
done