我想在bash脚本中提供一个可选的日志记录参数,并希望使用exec从头开始管道.但是,打开tee进程导致脚本挂起,我相信因为stdout没有关闭:
# Output to a log file, if set
if [[ $OPT_LOG ]]; then
exec > >(tee -a $OPT_LOG)
fi
我试图结束:
exec >&-
但它仍然挂起 – 是否有另一种正确关闭tee的方法,以便脚本在执行结束时正确退出?
解决方法:
看起来,出于某种原因,使用tee会停止显示提示符($PS1),因为shell脚本尚未退出.作为一种解决方法,我通常在打电话后使用短暂的睡眠.
#!/bin/bash
exec > >(tee -a mylog)
sleep .1
# my code
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。