我想使用1行而不是2行来优化bash代码 这是我想要优化的行:
grep -E "$name" /etc/passwd
if [ $? -eq 0 ]
#...
所以if会测试最后一个命令(grep)的退出,我想在if语句中合并“grep -E”$ name“/ etc / passwd”,如下所示:
if [ ##### -eq 0 ]
感谢您的帮助:)
答案 0 :(得分:3)
如果没有 :
grep "name" file && do_something
答案 1 :(得分:2)
您可以直接在if语句中使用命令的退出代码:
if grep ....
then
echo "found"
else
echo "not found"
fi
如果要使grep命令的输出静音,可以添加-q
选项,如果要在第一次匹配后退出(节省大文件的时间),可以使用-m 1