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

相关内容