Bash - for 루프를 사용하여 명령을 순차적으로 실행하는 방법

Bash - for 루프를 사용하여 명령을 순차적으로 실행하는 방법

장난감의 예:

다음 명령을 순서대로 실행하고 싶습니다

python generate.py 1
python simulate.py 1
python generate.py 2
python simulate.py 2
...
python generate.py 100
python simulate.py 100

명령이 너무 많아서 for 루프를 사용하고 싶습니다.

for i in {1..100}; do \
    python generate.py $i; python simulate.py $i; \
done

작업이 차례로 실행되는 데 매우 중요합니다. 내가 제대로 하고 있는 걸까?

답변1

예, 그렇게 하시는 것이 맞습니다. 작성한 루프는 장기적으로 나열된 정확한 순서대로 명령을 실행하지만 한 명령의 오류로 인해 루프가 종료되지는 않고 다음 명령을 계속 실행하고 명령을 효과적으로 무시한다는 점에 유의하는 것이 중요합니다. 오류.

답변2

그렇습니다. 확인하는 쉬운 방법은 명령을 실행하는 대신 명령을 에코하는 것입니다.

$ for i in {1..5}; do 
     echo python generate.py "$i"
     echo python simulate.py "$i" 
 done
python generate.py 1
python simulate.py 1
python generate.py 2
python simulate.py 2
python generate.py 3
python simulate.py 3
python generate.py 4
python simulate.py 4
python generate.py 5
python simulate.py 5

위의 예에서 볼 수 있듯이 필요에 따라 명령이 실행됩니다.

관련 정보