我使用wget
从 example.com 下载一些shell脚本,然后通过管道将wget
的stdout流式传输到sh
的stdin来立即执行它命令。
wget -O - http://example.com/myscript.sh | sh -
如何将参数传递给脚本?
答案 0 :(得分:6)
您需要在调用-s
时使用bash
选项将参数传递给正在下载的shell脚本:
wget -O - http://example.com/myscript.sh | bash -s 'arg1' 'arg2'
根据man bash
:
-s If the -s option is present, or if no arguments remain after option processing, then commands are read from the standard input. This option allows the positional parameters to be set when invoking an interactive shell.
答案 1 :(得分:1)
虽然接受的答案是正确的,但它仅在bash
上有效,而在最初的发帖人要求下,不适用于sh
。
要在sh
中执行此操作,您必须添加--
:
curl https://example.com/script.sh | sh -s -- --my-arg