この小さな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