[英]Run multiple commands passed as an argument to a bash script
这是非常简单的文件test.sh
#!/usr/bin/env bash
$1
当我运行./test.sh "pwd; mkdir a;"
,它返回
./test.sh: line 3: pwd;: command not found
我尝试使用'&'/'&&'/';',但是所有方法都不起作用。 我如何才能通过分行运行多个命令?
您试图使bash
解释字符串( $1
)就像脚本或键入命令一样。 有两种方法可以做到这一点:
eval
: eval $1
而不是$1
。 bash
评估命令: bash -c "$1"
而不是$1
。 注意引号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.