如果程序的输出重定向到日志文件,bash 不会因错误而退出

如果程序的输出重定向到日志文件,bash 不会因错误而退出
#!/bin/bash
exec 200>/var/lock/scraper || exit 1
flock -n 200 || exit 1
    cd /home/ubuntu/web_scraper
    /home/ubuntu/.nvm/versions/node/v13.12.0/bin/node mongo/scraper.js > logs/scraper.log
flock -u 200

基本上:

node scraper.js > scraper.log

发生错误后不会释放终端/cmd:因此它都会失败并且永远不会解锁。如何流式传输到日志文件当程序失败时仍然退出?

答案1

问题是节点。当您抛出错误时,节点不会退出脚本。

相关内容