有一种方法可以直接运行带有'arguments'的压缩bash脚本,而无需在文件中解压缩然后运行解压缩的文件吗?
例如:我需要执行带有一些给定参数的setup-mysql gzip压缩脚本:“ - n”,“wordpress”,“locahost”,不先解压缩脚本然后再执行。
我正在寻找的是在下面的命令中替换MAGIC这个词:
gzip -d --stdout /usr/share/doc/wordpress/examples/setup-mysql.gz | MAGIC... -n wordpress localhost
答案 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"