首页 > 代码库 > curl方式执行脚本时传参问题
curl方式执行脚本时传参问题
参考:
https://stackoverflow.com/questions/4642915/passing-parameters-to-bash-when-executing-a-script-fetched-by-curl/4642975
通常执行发布机上的脚本时习惯使用以下方式:
curl http://example.com/script.sh | bash
若涉及到传入参数时,则可使用
1. curl http://example.com/script.sh | bash -s arg1 arg2 2. curl http://example.com/script.sh | bash /dev/stdin arg1 arg2 3. bash <( curl http://example.com/script.sh ) arg1
若参数中带有"-",则可使用长选项"--"解决
curl http://example.com/script.sh | bash -s -- arg1 arg2
若参数为"-p blah -d blah",则可使用以下命令执行
curl http://example.com/script.sh | bash -s -- -p blah -d blah
不止是curl的输入,其他方式的输入也满足。可以通过以下例子深入理解下
echo ‘i=1; for a in $@; do echo "$i = $a"; i=$((i+1)); done‘ | bash -s -- -a1 -a2 -a3 --long some_text
curl方式执行脚本时传参问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。