curl方式執行腳本時傳參問題

參考:bash

https://stackoverflow.com/questions/4642915/passing-parameters-to-bash-when-executing-a-script-fetched-by-curl/4642975curl


一般執行發佈機上的腳本時習慣使用如下方式:ide

curl http://example.com/script.sh | bash


若涉及到傳入參數時,則可以使用fetch

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


若參數中帶有"-",則可以使用長選項"--"解決url

curl http://example.com/script.sh | bash -s -- arg1 arg2

若參數爲"-p blah -d blah",則可以使用如下命令執行spa

curl http://example.com/script.sh | bash -s -- -p blah -d blah


不止是curl的輸入,其餘方式的輸入也知足。能夠經過如下例子深刻理解下orm

echo 'i=1; for a in $@; do echo "$i = $a"; i=$((i+1)); done' | \
bash -s -- -a1 -a2 -a3 --long some_text
相關文章
相關標籤/搜索