![sh 스크립트의 sleep 및 매개변수에서 오류가 발생했습니다. [닫기]](https://linux55.com/image/64415/sh%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%9D%98%20sleep%20%EB%B0%8F%20%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EC%97%90%EC%84%9C%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
나는 이런 일을하고있다
#!/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
두 가지 실수를 저질렀습니다.
에서는
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