私たちが知っているではbashで以下にすることがあります。引数/オプションをパイプライン実行スクリプトに渡す方法はありますか?
curl -Ls example.com/script.sh | bash
しかし、我々はいくつかの引数を渡すことができますか?
curl -Ls example.com/script.sh | bash --option1
この場合、bash
がオプションになります。それをスクリプトに渡す方法がありますか?
私たちが知っているではbashで以下にすることがあります。引数/オプションをパイプライン実行スクリプトに渡す方法はありますか?
curl -Ls example.com/script.sh | bash
しかし、我々はいくつかの引数を渡すことができますか?
curl -Ls example.com/script.sh | bash --option1
この場合、bash
がオプションになります。それをスクリプトに渡す方法がありますか?
これは-s
オプションが何のためにあるのかです:-s
が明示的に標準入力からそのコマンドを読み取ることbash
を伝えますので
curl -Ls example.com/script.sh | bash -s -- --option1
、それが読みからファイルとして最初の引数を解釈しようとしません。コマンド。代わりに、すべての引数を使用して位置パラメータを設定します。
また、標準入力から直接読み取る代わりに、プロセス置換を使用することもできます。
bash <(curl -Ls example.com/script.sh) --option1
あなたは行うことができます:
(echo 'set -- --option1' && curl -Ls example.com/script.sh) | bash
をset
コマンドに入力を付加します。
答えをありがとう。私のために、最後のものだけが働きます。私はこれまでに "git bash"でテストしました。とにかく、クロスプラットフォームのソリューションが必要です。 – Kirby
git bashのバージョンでは非常に古いバージョンのbashを使用することができますが、なぜ最初のものがgit bashで動作しないのか分かりません。 – chepner
これは古すぎるわけではありませんが、最新のものではありません。私は最新のものを試してみよう... – Kirby