& 符号也可以用作行终止符吗?

& 符号也可以用作行终止符吗?

我知道在 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

或者说这两个部分放在一起有什么特殊意义吗?

答案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

&充当命令分隔符,并将其前面的命令放置在后台。

严格来说,它的作用是命令列表中项目的分隔符:

Alist是一系列一个或多个管道,由运算符 ' ;'、' &'、' &&' 或 ' ' 之一分隔,并且可选地以 ' '、' ' 或 a||之一终止。;&newline

相关内容