【发布时间】:2015-09-09 08:42:52
【问题描述】:
我想使用 1 行而不是 2 行来优化 bash 代码 这是我要优化的行:
grep -E "$name" /etc/passwd
if [ $? -eq 0 ]
#...
所以 if 将测试最后一个命令 (grep) 的退出,我想在 if 语句中合并 "grep -E "$name" /etc/passwd" 以具有如下内容:
if [ ##### -eq 0 ]
感谢您的帮助:)
【问题讨论】:
我想使用 1 行而不是 2 行来优化 bash 代码 这是我要优化的行:
grep -E "$name" /etc/passwd
if [ $? -eq 0 ]
#...
所以 if 将测试最后一个命令 (grep) 的退出,我想在 if 语句中合并 "grep -E "$name" /etc/passwd" 以具有如下内容:
if [ ##### -eq 0 ]
感谢您的帮助:)
【问题讨论】:
没有如果:
grep "name" file && do_something
【讨论】:
可以直接在if语句中使用命令的退出码:
if grep ....
then
echo "found"
else
echo "not found"
fi
如果您想使 grep 命令的输出静音,您可以添加-q 选项,如果您想在第一次匹配后退出(节省大文件的时间),您可以使用-m 1。
【讨论】: