我有以下bash脚本:
#!/bin/bash
exec &> >(tee -a /tmp/file1.log)
echo "1"
echo "2"
echo "3"
它在RHEL 6.7主机上运行,它的作用是将1 2 3打印到stdout和/tmp/file1.log文件中;然后它终止了脚本。
在RHEL 6.8上运行相同的脚本会导致行为略有不同。它继续将输出打印到stdout和文件,但脚本不会终止。它仍然在等待输入。我试图在脚本的末尾加上“退出0”,但它没有解决问题。
bash(4.1.2)和tee(8.4)版本在主机之间是相同的。
如何管理脚本以终止而不是等待?
修改
以下是echo $BASHOPTS
的输出
checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath