从标准输出运行脚本,并传递参数

时间:2015-02-18 05:09:35

标签: bash

我已多次看到一个技巧,从web服务器下载脚本的内容,然后执行。该脚本也可以接受命令行参数。

我似乎无法在需要时找到这样的脚本作为例子。

有人可以提供一个这方面的例子吗?

1 个答案:

答案 0 :(得分:2)

-s标志就是你在这里所说的。

$ echo 'echo "Arguments: $@"' | bash -s foo bar baz
Arguments: foo bar baz
$ echo 'echo "Arguments: $@"' | bash -s
Arguments:
$ echo 'echo "Arguments: $@"' | bash -s flkejflk
Arguments: flkejflk

应该提到curl | bash成语的一般模式使用http,这使得可怕不安全。使用https只会使这个稍微更好,因为你无法知道你一分钟前得到的代码是你从现在起一分钟后得到的代码(除此之外)。