现在我有一个像这样的班轮:
curl -fsSL http://git.io/vvZMn | bash
它正在下载脚本并将其作为stdin文件传递到bash。我想使用其他参数运行此脚本print
。
也许是这样的吗?
curl -fsSL http://git.io/vvZMn | bash -- print
但这是行不通的。
我相信您正在寻找的是-s
选项。使用-s
,您可以将参数传递给脚本。
作为一个虚拟的例子来说明这一点:
$ echo 'echo 1=$1' | bash -s -- Print
1=Print
在这里,您可以看到stdin上提供的脚本被赋予了positional参数Print
。您的脚本带有一个-u UUID
参数,也可以容纳以下参数:
$ echo 'echo arguments=$*' | bash -s -- -u UUID print
arguments=-u UUID print
因此,在您的情况下:
curl -fsSL http://git.io/vvZMn | bash -s -- print
或者,
curl -fsSL http://git.io/vvZMn | bash -s -- -u UUID print
正如史蒂芬·哈里斯(Stephen Harris)所指出的那样,出于安全考虑,下载脚本并执行该脚本是看不见的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句