常见变量
$? #判断上一条命令执行的是否成功
$0 #返回脚本的文件名称
$1-$9 #返回对应的参数值
$* #返回所有的参数值是什么
$# #返回参数的个数和
<--------------------------------------------------->
#!/bin/bash
# by xiao C 2018-12
# test
echo "脚本:$第一个参数是:0"
echo "第一个参数是:$1"
echo "第二个参数是:$一共有多少参数2"
echo "一共有多少参数:$#"
echo "这些参数是什么:$*"
常见的几个符号
> #会覆盖原有的内容
>> #不会覆盖原有的内容
; #执行多条命令
| #管道符
&& #前面的命令执行成功,后面的才可以执行
|| #前面的命令执行失败,后面的才可以执行
"" #会输出变量值
'' #输出本身
`` #输出命令结果 eg:a=`date`;echo $a
2>/dev/null #错误输出到无底洞
1>/dev/null #正确输出到无底洞
常见的条件判断
语法:[ 判断表达式 ]
文件(夹)或者路径:
-e 目标是否存在(exist)
-d 是否为路径(directory)
-f 是否为文件(file)
[ -e foer.sh ] || touch foer.sh #判断当前目录下是否有foer.sh这个文件,假如没有就创建出foer.sh文
件
权限:
-r 是否有读取权限(read)
-w 是否有写入权限(write)
-x 是否有执行权限(excute)
[ -x 123.txt ] && echo '有执行权限'
整数值(int型):
-eq 等于(equal)
-ne 不等于(not equal)
-gt 大于(greater than)
-lt 小于(lesser than)
-ge 大于或者等于(greater or equal)
-le 小于或者等于(lesser or equal)
[ 9 -gt 8 ] && echo '大于'
小数(浮点型):
[ `echo '1.2 < 1.3' | bc` -eq 1 ] && echo '小于'
字符串:
= 相等
!= 不相等
[ 'kkkkk' != 'kkkk' ] && echo '不等于'
栗子
#!/bin/bash
# 判断输入的第一个数是否大于输入的第二个数
# by 小C
if [ $1 -eq $2 ]
then
echo "$等于1 等于 $2"
else
echo "$不等于1 不等于 $2"
fi