내 스크립트는 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
첫 번째 반복에 바람직한 조건을 적용합니다.