Bash exec包装器脚本 - 作为参数传入的多个命令

Nig*_*olf 1 bash sh

基本上我有一个脚本充当任务包装器,并在任务失败时通过电子邮件发送给用户.

该任务作为参数传递给脚本.当我们需要运行多个命令时会出现问题,说下面的行被传递给脚本,因为任务arg "echo this; echo that"会输出这个; 回应那个.

所以问题是什么是运行多个命令的最简单方法,而不必循环输入命令字符串并拆分';' 炭?

简单的例子:

FIRST=$1
TASK=$*
echo run
echo "emailing $FIRST"
$TASK
echo done
Run Code Online (Sandbox Code Playgroud)

并运行此脚本我们将使用 ./wrapper.sh "alert@somethingbadhappened.com" "echo this; echo that"

建议?

sar*_*old 5

如果执行字符串$TASKvia sh -c,则可能不需要再做任何工作:

$ sh -c "echo this ; echo that"
this
that
$ 
Run Code Online (Sandbox Code Playgroud)