[[ -n $program ]] && echo "$program" && setsid $program "$arg" & && exit 0
给我“意外标记‘&&’附近的语法错误”
[[ -n $program ]] && echo "$program" && { setsid $program "$arg" & } && exit 0
工作正常
有人可以帮助我理解这里使用括号有什么区别吗
答案1
引用 Bash 手册页:
列表是由一个或多个管道组成的序列,由一运算符
;
,&
,&&
, 或||
,并且可选地由;
,&
, 或之一终止<newline>
。
因此我假设它的解析器将视为& &&
语法错误。