回答:
あなたが探しているのは-s
オプションだと思います。を使用-s
すると、スクリプトに引数を渡すことができます。
これを説明するためのダミーの例として:
$ echo 'echo 1=$1' | bash -s -- Print
1=Print
ここでは、stdinで提供されるスクリプトに位置パラメーターが指定されていることがわかりますPrint
。スクリプトは-u UUID
引数を取りますが、これにも対応できます。
$ echo 'echo arguments=$*' | bash -s -- -u UUID print
arguments=-u UUID print
したがって、あなたの場合:
curl -fsSL http://git.io/vvZMn | bash -s -- print
または、
curl -fsSL http://git.io/vvZMn | bash -s -- -u UUID print
Stephen Harrisが指摘したように、スクリプトをダウンロードして実行することは、目に見えないことですが、セキュリティ上の問題です。
システムにがある場合は/dev/stdin
、
$ echo 'echo 1=$1' | bash /dev/stdin print
1=print
んではない次の操作を行います。
$ echo 'echo 1=$1' | bash /dev/stdin -- print
1=--
を使用する--
場合は、次のようにします。
$ echo 'echo 1=$1' | bash -- /dev/stdin print
1=print
print
、ここでやって?実行中のコマンドを表示しますか?その場合は、お試しくださいbash -x
。注:このcurl | bash
ルーチンは大きなセキュリティホールです。サーバーがpwnされるまで、何が実行されるかはわかりません。