shell脚本中那几个一句话

今天看一个脚本源码,发现了几种写的写法,记录一下,之前都是死格式多行写的,用了一下感觉挺方便的。

CASE
case “$@” in --all) echo “true”;true;; *) echo “false…”;false;; esac
#一句话case,如果参数是–all,输出返回true,,如果不是,输出返回false,
#多个条件可以多个–xxx) 来写,但是写很多的话,一句话就不合适了,会显得很多,容易出错

c1=case "$@" in --all) echo "true";true;; *) echo "false......";false;; esac
#一句话case可以定义成变量变量,脚本中可以用的到

FOR
for i in seq 1 10;do echo $i ;done
#一句话for
#输出的结果
1
2
3
4
5
6
7
8
9
10
c2=for i in seq 1 10;do echo $i ;done
#一句话for可以定义成变量变量,脚本中可以用的到
#输出变量的结果
1 2 3 4 5 6 7 8 9 10

IF
if [ -d “/usr/local/aaaaaa” ];then echo “dir is exist” ;fi
#一句话if,这个就方便很多了,很多时候都是只用到判断一个条件,没有else
c3=if [ -d "/usr/local/" ];then echo "dir is exist" ;fi
#一句话for可以定义成变量变量,脚本中可以用的到

一句话if和case组合使用
if case “$@” in --all) echo “true”;true;; *) echo “false…”;false;; esac; then #判断条件是否为真/true
echo “True…” #如果是真,输出True
else
echo “False…” #如果是假,输出False
fi

SET命令的使用和介绍,分享给大家,阮老师写的,非常好,清晰实用。
http://www.ruanyifeng.com/blog/2017/11/bash-set.html

猜你喜欢

转载自blog.csdn.net/wojiuwangla/article/details/105845137