Bash 脚本如何从变量执行命令



我正在尝试更改下面的 Bash 函数以执行每个命令参数。但是当我运行此脚本时,第一个回显按预期工作,但尝试附加到暂存.txt文件的第二个回显实际上并未执行。它只是在提示中得到回声。

#!/bin/sh
clear
function each(){
  while read line; do
    for cmd in "$@"; do
      cmd=${cmd//%/$line}
      printf "%sn" "$cmd"
      $cmd
    done
  done
}
# pipe in the text file and run both commands
# on each line of the file
cat scratch.txt | each 'echo %' 'echo -e "%" >> "scratch.txt"'
exit 0

如何获取要作为命令执行的$cmd变量?

我在这里找到了答案 2 的原始代码:使用 xargs 运行多个命令

你想要eval . 这是邪恶的。 或者至少是危险的。 在BashFAQ #48阅读所有相关信息。

相关内容

  • 没有找到相关文章