如何优化这两行bash代码

时间:2015-09-09 08:42:53

标签: linux bash command

我想使用1行而不是2行来优化bash代码 这是我想要优化的行:

grep -E "$name" /etc/passwd
if [ $? -eq 0 ]
     #...

所以if会测试最后一个命令(grep)的退出,我想在if语句中合并“grep -E”$ name“/ etc / passwd”,如下所示:

if [ ##### -eq 0 ]

感谢您的帮助:)

2 个答案:

答案 0 :(得分:3)

如果没有

grep "name" file && do_something

答案 1 :(得分:2)

您可以直接在if语句中使用命令的退出代码:

if grep .... 
then
  echo "found"
else
  echo "not found"
fi

如果要使grep命令的输出静音,可以添加-q选项,如果要在第一次匹配后退出(节省大文件的时间),可以使用-m 1