私はこれを持っています:
bash <(
curl_url='https://raw.githubusercontent.com/oresoftware/run-tsc-if/master/run.sh'
curl -H 'Cache-Control: no-cache' --silent "$curl_url"
)
そのURLのbashスクリプトはパラメータを使用します$1
。この実行スタイルを使用してパラメータを渡す方法はありますか、それとも環境変数を使用する必要がありますか?
私はこれがうまくいくと思いましたか?
bash "first arg" <(
curl_url='https://raw.githubusercontent.com/oresoftware/run-tsc-if/master/run.sh'
curl -H 'Cache-Control: no-cache' --silent "$curl_url"
)
しかし、これは推測であり、間違っているようです。
私のテストによると、これは正しいようです。
bash <(
my_url='https://raw.githubusercontent.com/oresoftware/run-tsc-if/master/run.sh'
curl -H 'Cache-Control: no-cache' --silent "$my_url"
) "first arg" # add the argument here
誰かがこれを確認できたらいいと思います。次のように確認されます。
bash <(echo 'echo "first: $1"') 'blaq'
次のようにエコーされます。
まず:ブラック
ベストアンサー1
あなたはそれを使用することができますプロセスの交換そして生成されたスクリプトをBashの標準入力にリダイレクトします。
$ bash -s 'first argument' 'second argument' < <(echo 'printf "%s\n" "$@"')
first argument
second argument
コマンドを次echo
のように置き換えcurl
ます。
からman bash
:
-sオプションがある場合、またはオプション処理後に残りの引数がない場合は、標準入力からコマンドを読み取ります。このオプションを使用すると、対話型シェルを呼び出すときに位置パラメータを設定できます。