posixシェルでbashスタイルの$()構文を使用するには?

posixシェルでbashスタイルの$()構文を使用するには?

次の基本コマンドがあります。 SOME_VAR='blabhablhaba' bash -c "$(curl -L https://run_script.sh)"

posixシェルを使用してこれをどのように実行できますか?失敗します。 SOME_VAR='blabhablhaba' sh -c "$(curl -L https://run_script.sh)"

sh: syntax error: unexpected "("

ベストアンサー1

無効なタイプの引用符を使用している、またはダウンロードしているシェルスクリプトは、bashPOSIXshスクリプトではないスクリプトです。

今あなたが持っているのはcurl処刑です。現在のシェルをクリックし、結果をsh -c "..."実行する式に貼り付けますsh

これを試してみてください。完全なダウンロードと実行が延期されますsh

SOME_VAR='blabhablhaba' sh -c '$(curl -L https://run_script.sh)'

(たとえば、含まれているURLにはリモートホスト名がないため欠陥があります。これはプレースホルダの例であると仮定します。)

すべての場合において、リモートシステムが悪意のあるスクリプトを送信しないことを暗黙的に信頼することに注意してください。あなたも彼らの安全を信じていますか?

おすすめ記事