친애하는 전문가 여러분, 작은 문제가 있습니다...디렉토리 내부에 있는 동일한 확장자(.sh)를 가진 여러 셸 스크립트를 한 번에 실행하려고 합니다. 지금까지 나는 아래와 같은 일반적인 스크립트를 작성했습니다. 그런데 문제는 실행이 끝나지 않고 계속 실행된다는 것입니다. 문제가 지속되는 부분을 찾을 수 없습니다. 전문가가 조사해 줬으면 좋겠습니다. 내 작은 코드는 아래와 같습니다. bash scriptone.sh, bash scriptkk.sh와 같은 작업을 수행하면 잘 작동하지만 수동으로 수행하는 방법은 원하지 않습니다. 감사합니다.
#!/bin/sh
for f in *.sh; do
bash "$f" -H
done
답변1
질문에서 참조하는 공통 스크립트에도 확장명 이 있고 .sh
실행하려는 다른 모든 스크립트와 동일한 디렉토리에 존재하는 경우 .sh
호출하기 때문에 모든 파일을 무한 반복하게 됩니다. 재귀적으로 공통 스크립트를 작성합니다.
이 문제는 여러 가지 방법으로 해결할 수 있습니다. 예를 들어 공통 스크립트를 다른 위치로 이동하거나 모든 비공통 스크립트를 특정 하위 디렉터리에 넣고 공통 스크립트를 수정하여 그곳에서 찾을 수 있습니다.