&記号を行末として使用することもできますか? [コピー]

&記号を行末として使用することもできますか? [コピー]

Bashでは、シンボルはコマンドを背景に委任することを知っていますが、&特別な行終端としても使用する必要がありますか?

私が言う内容の例を挙げるために、次の行を見つけました。http://tldp.org/LDP/abs/html/ioredirintro.html

while read a; do echo "FIFO1: $a"; done < /tmp/fifo1 & exec 7> /tmp/fifo1

上記の内容は…?

while read a; do echo "FIFO1: $a"; done < /tmp/fifo1 &
exec 7> /tmp/fifo1

それとも、これら2つの部分を組み合わせたときに特別な意味がありますか?

答え1

while read a; do echo "FIFO1: $a"; done < /tmp/fifo1 & exec 7> /tmp/fifo1

実際には

while read a; do echo "FIFO1: $a"; done < /tmp/fifo1 &
exec 7> /tmp/fifo1

&コマンド区切り文字として機能し、前のコマンドをバックグラウンドに配置します。

厳密に言えば、それがすることはコマンドリストの項目の区切り文字:

A は、演算子 ''、''、''、または '' のいずれかで区切られ、オプションで ''、''、または a のいずれかで終わるlist1 つ以上のパイプシーケンスです。;&&&||;&newline

関連情報