내 스크립트가 fetch_remote_work.sh
네트워크에 연결되어 있기 때문에 매우 느립니다. 제대로 작동할 때까지 여러 번 실행해야 합니다.
./fetch_remote_work.sh
while [ $? -ne 0 ]
do
./fetch_remote_work.sh
done
이것은 분명히 아주 잘 작동합니다. 하지만 먼저 전화해야 하는 의무는 마음에 들지 않습니다 ./fetch_remote_work.sh
. 나는 그것을 다른 언어로 알고 있습니다.PHP, 하나 있어요한동안 해봐적어도 루프의 첫 번째 반복을 실행하십시오. 있었으면 정말 깨끗했을텐데세게 때리다
그래서 내 질문은: 내가 하고 있는 것보다 더 깔끔한 방법이 있습니까?
답변1
명령 자체를 while
구성 조건으로 사용하십시오.
while ! ./fetch_remote_work.sh; do :; done
답변2
뭔가를 실행하고 싶다면~까지반환 코드가 0입니다.
until [ $RANDOM -eq 42 ]
do
echo looking for the answer to life, the universe, and everything
done
(또는 한 줄로)
until [ $RANDOM -eq 42 ]; do echo looking for the answer to life, the universe, and everything; done
귀하의 예를 들어:
until ./fetch_remote_work.sh; do :; done
이 루프는 "아무 작업도 수행하지 않습니다"(실행:
내장)~까지fetch_remote_work.sh 스크립트는 0을 반환합니다.
답변3
첫 번째 줄을 로 변경하고 false
첫 번째 반복이 원하는 조건을 충족하도록 합니다.