bash /dev/fd/3 3<< 'EOF'の3 3はどういう意味ですか?

bash /dev/fd/3 3<< 'EOF'の3 3はどういう意味ですか?

Unixコードの一部を見ましたが、それを完全に解釈するのに十分な背景知識がありませんでした。

bash /dev/fd/3 3<< 'EOF'

上記はどういう意味ですか3 3?私は区切り文字が何であるか、Bash、デバイス、fdが何であるかを知っていますが、何かはわかりません。3スペース3...Googleが引用したフレーズを検索したとき、デフォルトでは何も見つかりませんでした。

コードが提供されますここ適切な権限を持つファイルを生成せずにスクリプト(特に既に内部heredocとコメントを含むスクリプト)を実行できる特別なheredocになります。

Unixの専門家は3 3これがどのような部分かを説明できますか?ありがとう、

ベストアンサー1

bashこれは、この文書をゼロ以外のファイル記述子に渡す方法です。 3です。

構文の最初の部分はファイル記述子3を入力として実行し、2番目のbase /dev/fd/3部分はシェルにそのファイル記述子にhere-docを書き込むように指示します。bash3<< EOF

空白3<<のない単一のトークンでなければなりません。

これにより、here-docスクリプトからstdinを読み取ると、here-doc自体ではなく実際の入力(ファイル記述子0から)が読み取られます。私が理解しているように、このようなことをしないと、here-docが内部的にbashの標準入力になり、「実際の入力」を読むことができなくなります。

おすすめ記事