一 echo命令
1.显示普通字符串
echo "字符串"
2.显示变量
echo "${变量名}"
3.显示换行 需要开启转义功能 -e \n 表示换行
echo -e "下一句换行 \n 这里换行"
4.不换行 需要开启转义功能 -e \c表示不换行
echo -e "下一句不换行 \c "
echo "这里不换行"
5.显示一个执行命令
echo `date ` 一定要注意这里的引号的方向!
6.退出命令 exit 执行之后,脚本后边的代码不再执行
可以直接写 ,也可以抛出一个状态,如
exit 1
默认为0
一般常见状态码:
状态码 描述
0 命令成功执行
1 一般性的未知错误
2 不适合的shell命令
126 命令不可执行
127 没找到命令
130 通过Ctrl+C终止的命令
255 正常范围之内的退出状态码
二 shell语言的基本运算符
1.算数运算符 "+" "-" "*" "/" "%"
a=11
b=20
"+" 运算
c=`expr $a + $b`
"-" 运算
d=`expr $a - $b`
"*" 运算 ps: 乘法运算记得加一个转义字符 "\"
e=`expr $a \* $b`
"/" 运算
f=`expr $a / $b`
"%" 取余运算
g=`expr $a % $b`
"=" 运算
h=$b
ps:关于 expr 也可以这样写 :
d=$(expr $a + $b)
e=$[$a+$b]
2.关系运算符
"-eq" 检测两个数是否相等,相等返回true
"-ne" 检测两个数是否相等,不相等返回true
"-gt" 检测左边数是否大于右边数,如果是,返回true
"-lt" 检测左边数是否小于右边数,如果是,返回true
"-ge" 检测左边数是否大于等于右边数,如果是,返回true
"-le" 检测左边数是否(小于+等于)右边数,如果是,返回true
有意思的是,如果两个值都不存在,以上都会返回true
3.布尔值运算符
"!" 非运算
if [ $a != $b ]
then
echo "a不等于b"
else
echo "a等于b"
fi
"-o" 或运算
if [ $a -lt 10 -o $b -gt 20 ]
then
echo 真
else
echo 假
fi
"-a" 与运算
if [ $a -lt 10 -a $b -gt 20]
then
echo 真
else
echo 假
fi
4.逻辑运算符
"&&" 逻辑且 注意写法与"-a"不一样
if [ $a -lt 10 ] && [ $b -gt 20 ]
then
echo 真
else
echo 假
fi
"||" 逻辑或
if [ $a -lt 10 ] || [ $b -gt 20 ]
then
echo 真
else
echo 假
fi
5.字符串运算
"=" 检测两个字符串是否相等,如果相等,返回true
"!=" 检测两个字符串是否相等,如果不相等,返回ture
"-z" 检测字符串的长度,是否为0,如果为0,返回ture
"-n" 检测字符串存在,如果存在,返回ture,判断取值时最好加上双引号! 不然可以一直存在!
可以通过取值,直接检测字符串是否为空,如果不为空,返回ture
6.文件测试运算符
"-d file" 检测文件是不是一个目录,如果是,那么返回ture
"-r file" 检测文件是否可读,如果是,那么返回true
"-w file" 检测文件是否可写,如果是,那么返回true
"-x file" 检测文件是否是可执行文件,如果是,那么返回true
"-f file" 检测文件是否是普通文件(既不是目录,也不是设备文件) 如果是,返回ture
"-s file" 检测文件是否是不为空,如果有内容,返回ture
"-e file" 检测文件或目录是否存在,如果存在,返回ture
网友评论