bashのスクリプト入力にパラメータを渡す方法

bashのスクリプト入力にパラメータを渡す方法

今、次のような行があります。

curl -fsSL http://git.io/vvZMn | bash

スクリプトをダウンロードし、標準入力ファイルとしてbashに渡します。追加のパラメータを使用してこのスクリプトを実行したいと思いますprint

たぶんこんなことはありませんか?

curl -fsSL http://git.io/vvZMn | bash -- print

しかし、これはうまくいきません。

ベストアンサー1

私はあなたが探しているものが-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が指摘したように、スクリプトをダウンロードして見えないように実行するのはセキュリティ上の問題です。

おすすめ記事