`

Bash小技巧(惯用法)-1

 
阅读更多

Bash小技巧(惯用法)

退出码判断(命令执行成功与否的判断)

在Bash脚本中,我们经常要先执行某个命令行,然后判断它是否执行成功,这时我们要对它的退出码进行判断。罗嗦一些的写法如下:

    if [ $? -eq 0 ]  
    then  
       echo "Success"  
    fi  
 

简洁的写法如下:

    [ $? -eq 0 ] && echo "Success"  

 

条件判断的简单写法

又如,判断是否有某个目录,如果没有就终止脚本执行,罗嗦一些的写法如下:

if [ ! -d "$DIR" ]; then
    exit 1
fi
 

简洁的写法如下:

[ -d "$DIR" ] || exit 1

 

查找字符串

好多人习惯上这样写:

cat /etc/passwd | grep root

其实下面的写法更好,不需要执行cat命令、不需要管道线:

grep root /etc/passwd

 

here document的写法

一般人都这样写:

if true; then
    cat >some.txt <<EOF
123
345
567
789
EOF
fi
 

这样写,最后那个EOF就要顶格写,破坏了程序应有的缩进格式,最好如下写法:

if true; then
	cat >some.txt <<-EOF
		123
		345
		567
		789
	EOF
fi
 

注意EOF前面的减号,数据前面都用制表符,不能用空格。

 

 

 

 

 

2
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics