如何运行bash压缩脚本?

时间:2013-11-11 22:05:11

标签: bash gzip

有一种方法可以直接运行带有'arguments'的压缩bash脚本,而无需在文件中解压缩然后运行解压缩的文件吗?

例如:我需要执行带有一些给定参数的setup-mysql gzip压缩脚本:“ - n”,“wordpress”,“locahost”,不先解压缩脚本然后再执行。

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

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

1 个答案:

答案 0 :(得分:3)

试试这个:

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

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

如果您没有任何参数可以通过

gzip -d --stdout file.gz | bash

另一种选择是:

gzip -d --stdout file.gz | bash /dev/stdin "arguments"