我正在编写一个相当长的脚本(或者我认为很长的脚本 - 你可能会在几个小时内完成)。我基本上有一个文件(名为 .restore.info),其中包含名称文件。在脚本的一部分中,我想测试“如果在 .restore.info 中找不到文件名,则显示“错误:恢复的文件不存在”。如果这对你们来说没有意义,我深表歉意(对我来说,确实如此)在宏伟的计划中)。因此,如果在命令行中键入:
sh MYSCRIPT filename
它将在 .restore.info 文件中搜索字符串文件名,如果找不到任何内容,则应生成错误消息。
基本上,我需要将此编码的顶行翻译成 UNIX bash 语句以及实际有意义的内容!:
If grep $1 .restore.info returns an exist status of 1; then
echo “Filename does not exist!”
fi
提前致谢!请询问我是否需要我更清楚地澄清任何事情,因为我知道我不是最好的解释者,我会在一分钟内回复您! (+当然会给出代表和最佳答案!)
最佳答案
您可能只关心 grep
是否以非零退出状态退出:
if ! grep -q "$1" .restore.info; then
echo "Filename does not exist!"
fi
但如果您确实关心特定的退出状态(在本例中为 1):
if ! grep -q "$1" .restore.info && [[ $? -eq 1 ]]; then
echo "Filename does not exist!"
fi
关于bash - 在 UNIX bash 脚本中编写 if 语句需要一些帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17200607/