![当我尝试读取不存在的文件并为其编写处理程序时,如何捕获 sed 中的异常?](https://linux22.com/image/820710/%E5%BD%93%E6%88%91%E5%B0%9D%E8%AF%95%E8%AF%BB%E5%8F%96%E4%B8%8D%E5%AD%98%E5%9C%A8%E7%9A%84%E6%96%87%E4%BB%B6%E5%B9%B6%E4%B8%BA%E5%85%B6%E7%BC%96%E5%86%99%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E6%8D%95%E8%8E%B7%20sed%20%E4%B8%AD%E7%9A%84%E5%BC%82%E5%B8%B8%EF%BC%9F.png)
我使用 sed 从文本文件中获取特定值并将其放入变量中。
如果该文件不存在,则会打印错误:
sed:无法读取文件路径:没有这样的文件或目录
我如何才能捕获这个错误并显示我自己的消息并执行我的逻辑?
export RESULT=`sed '' ${FILE_PATH} | grep ${VAR_NAME} | cut -d "=" -f2-`
答案1
sed
失败时返回非零退出代码。因此,您需要在管道$?
之后sed
(但在管道之前)进行测试,否则它们可能为零的退出代码可能会“覆盖sed
”