![条件代码效果不佳](https://linux22.com/image/107754/%E6%9D%A1%E4%BB%B6%E4%BB%A3%E7%A0%81%E6%95%88%E6%9E%9C%E4%B8%8D%E4%BD%B3.png)
我的条件代码无法正常工作。为什么?我的目标是,如果文件没有字符 rfd,则它不会运行下一个命令 sed。但是,每次使用任何错误或正确的文件时,它都会给我回声:你失败了!为什么?如何修复它?它运行下一个命令。如何解决这个问题并以只有在我的条件成功时才运行下一个命令的方式编写这个 shell 脚本?
echo $file
if
else
echo Unsuccessfully you!
fi
答案1
根据对此答案的早期形式的评论,我们希望对其中包含r
、f
和的文件执行操作d
。所以我们有一些选择。
与grep
s:
if grep -q 'r' '/path/to/file' && grep -q 'f' '/path/to/file' && grep -q 'd' /path/to/file; then
echo "The characters are in the file; acting accordingly."
else
echo "The characters are not found in the file; acting accordingly."
fi