我们知道可以在bash中跟进:
curl -Ls example.com/script.sh | bash
但我们可以通过一些论点吗?
curl -Ls example.com/script.sh | bash --option1
在这种情况下,bash
会选择此选项。可能有一些方法将它传递给脚本吗?
答案 0 :(得分:2)
这是-s
选项的用途:
curl -Ls example.com/script.sh | bash -s -- --option1
由于-s
明确告诉bash
从标准输入读取其命令,因此它不会尝试将其第一个参数解释为从中读取命令的文件。相反,所有参数都用于设置位置参数。
或者,您可以使用流程替换而不是直接从标准输入读取。
bash <(curl -Ls example.com/script.sh) --option1
答案 1 :(得分:1)
你可以这样做:
( echo 'set -- --option1' && curl -Ls example.com/script.sh ) | bash
在输入前添加set
命令。