Bash 스크립트가 실행되지 않았습니다.

Bash 스크립트가 실행되지 않았습니다.

이 작은 bash 스크립트가 있습니다.

  #!/bin/bash

  PATH1="/home/user100/files"
  CMD1=$(find . -type f -iname "*.sh" -exec rm -fr {} +;)
  cd $PATH1
  $CMD1

명령을 하나씩 실행하면 모두 성공적으로 실행되고, 스크립트를 실행하면 아무 작업도 수행되지 않습니다.

어떤 도움이나 아이디어라도 대단히 감사하겠습니다.

답변1

명령을 변수에 문자열로 저장하려면 $()를 사용하면 안 됩니다.

 CMD1="find . -type f -iname '*.sh' -exec rm -fr {} +;"

그런 다음 나중에 명령을 사용하여 해당 변수를 호출합니다 eval. 따라서 스크립트는 다음과 같아야 합니다.

  #!/bin/bash

  PATH1="/home/user100/files"
  CMD1="find . -type f -iname '*.sh' -exec rm -fr {} +;"
  cd $PATH1
  eval $CMD1;

그런 다음 스크립트에 실행 권한을 부여하는 것을 잊지 마십시오

chmod +x script.sh

그런 다음 스크립트를 실행하십시오.

./script.sh

관련 정보