在 bash 脚本中执行命令

Execute a command in bash script

当命令作为第一个参数传递给shell 脚本。示例:

sh command_execute.sh ls -l

假设我在命令行输入上面的内容,理想情况下我希望脚本查看第一个参数(在本例中为 ls -l),然后执行它。

有两种方法可以做到这一点。一种方法是将 shell 脚本设置为

# File: command_execute.sh

和 运行 是这样的:sh command_execute.sh 'ls -l'(注意 ls -l 周围的单引号)。这将做的是将完整的字符串 ls -l 传递给您的脚本,并且由于它是脚本的第一个参数,因此脚本中的 </code> 将有效地替换为 <code>ls -l,然后将执行该命令。

另一种方法是将其用作您的脚本:

# File: command_execute.sh
"$@"

在这种情况下,"$@" 是传递给脚本的所有参数。如果你 运行 像 sh command_execute.sh ls -l 这样的脚本(注意在这种情况下 ls -l 而不是 引用),然后 ls 被传递给脚本作为参数 1,-l 作为参数 2 传递给脚本。然后 "$@" 有效地替换为 ls -l,然后执行命令。

哪一个最好取决于您的要求。