繁体   English   中英

运行作为参数传递给bash脚本的多个命令

[英]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 )就像脚本或键入命令一样。 有两种方法可以做到这一点:

  1. 使用内置的evaleval $1而不是$1
  2. 运行单独的bash评估命令: bash -c "$1"而不是$1 注意引号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM