2015-04-29 28 views
-4

我有简单的bash脚本。它在文件中找到一个字符串。Grep and set -o errexit

#/bin/bash 

set -o errexit 

grep 'findedstring' $file. 
echo "was founded string on file" 

<...> 

如果文件中找到字符串中的脚本执行成功,我能看到字符串“成立于文件字符串”。 但是,如果文件没有'findedstring'脚本退出,并没有进一步工作,我不能看到“被创建字符串文件” 如果我将删除脚本中的字符串

“设置-o errexit”

,该脚本将进一步工作,我可以看到字符串“成立于文件字符串”

我如何保存脚本

“设置-o errexit”

字符串和我的脚本将保持在不建立在文件中的字符串工作?

帮帮我。

+0

'$设置-o nonexit bash下设置:nonexit:无效选项name'? – anishsane

+0

对不起,设置-o errexit –

回答

1
grep 'findedstring' $file. || true 
2
#/bin/bash 

set -o errexit 

[[ $(grep 'findedstring' "$file") ]] && echo "found string on file" 

echo "I will be reached even if grep fails" 
+0

假设'.'在'$ file.'中是一个错字 – Jahid