$ cat<<EOF
> a
> EOF
a
stdinを入力するのではなく、自動的にストリームをリダイレクトできますか?私はそれを試しましたが、これは私が得たものです。
[debian:~]$ cat <<(printf "EOF\na\nEOF\n")
-bash: syntax error near unexpected token `('
[debian:~]$ cat <(printf "EOF\na\nEOF\n")
EOF
a
EOF
答え1
Here-docは、特定の入力をプログラムの標準入力に渡すための構文です。しかし、それが唯一のものではありません。以下も使用できます。
管路:
printf "a\n" | cat
文字列は次のとおりです。
cat <<< "a"
プロセスの置き換え(すでに行ったように):
cat < <(printf "a\n")
(ここの文字列は与えられた文字列の末尾に改行文字を追加します。他の文字列はそうではないので、手動で改行文字を追加しました。printf
)
EOF
文字列を渡すことはcat
おそらくあまり役に立ちません。これはhere-doc構文の一部にすぎません。