3

有一种方法可以直接运行带有“参数”的压缩 bash 脚本,而无需将其解压缩到文件中然后运行解压缩的文件?

例如:我需要使用一些给定的参数执行 setup-mysql gzip 压缩脚本:“-n”、“wordpress”、“locahost”,而无需先解压缩脚本然后执行。

我正在寻找的是在下面的命令中替换 MAGIC... 这个词:

gzip -d --stdout /usr/share/doc/wordpress/examples/setup-mysql.gz | MAGIC... -n wordpress localhost
4

1 回答 1

3

尝试这个:

gzip -d --stdout file.gz | bash -s -- "-n wordpress localhost"

一点解释:bash -s你告诉 bashstdin作为命令处理。双破折号意味着后面的所有内容都将作为参数传递(单破折号似乎是等价的,检查man bash)。

如果您没有任何要传递的论据,您可以这样做

gzip -d --stdout file.gz | bash

另一种选择是:

gzip -d --stdout file.gz | bash /dev/stdin "arguments"
于 2013-11-11T22:55:12.410 回答