參考:
https://stackoverflow.com/questions/4642915/passing-parameters-to-bash-when-executing-a-script-fetched-by-curl/4642975
通常執行釋出機上的腳本時習慣使用以下方式:
1
<code>curl http:</code><code>//example</code><code>.com</code><code>/script</code><code>.sh | </code><code>bash</code>
若涉及到傳入參數時,則可使用
2
3
<code>1. curl http:</code><code>//example</code><code>.com</code><code>/script</code><code>.sh | </code><code>bash</code> <code>-s arg1 arg2</code>
<code>2. curl http:</code><code>//example</code><code>.com</code><code>/script</code><code>.sh | </code><code>bash</code> <code>/dev/stdin</code> <code>arg1 arg2</code>
<code>3. </code><code>bash</code> <code><( curl http:</code><code>//example</code><code>.com</code><code>/script</code><code>.sh ) arg1</code>
若參數中帶有"-",則可使用長選項"--"解決
<code>curl http:</code><code>//example</code><code>.com</code><code>/script</code><code>.sh | </code><code>bash</code> <code>-s -- arg1 arg2</code>
若參數為"-p blah -d blah",則可使用以下指令執行
<code>curl http:</code><code>//example</code><code>.com</code><code>/script</code><code>.sh | </code><code>bash</code> <code>-s -- -p blah -d blah</code>
不止是curl的輸入,其他方式的輸入也滿足。可以通過以下例子深入了解下
<code>echo</code> <code>'i=1; for a in $@; do echo "$i = $a"; i=$((i+1)); done'</code> <code>| \</code>
<code>bash</code> <code>-s -- -a1 -a2 -a3 --long some_text</code>
<code></code>
本文轉自 xoyabc 51CTO部落格,原文連結:http://blog.51cto.com/xoyabc/1950743,如需轉載請自行聯系原作者