Bashスクリプトが実行されていません。

Bashスクリプトが実行されていません。

この小さなbashスクリプトがあります。

  #!/bin/bash

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

コマンドを1つずつ実行するとすべて正常に実行され、スクリプトを実行すると何もしません。

どんな助けやアイデアにも感謝します。

ベストアンサー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

おすすめ記事