(1)简单示例1
(2)简单示例2
注:==也可用于判断两个字符串是否相等,$ ?返回0代表两值相等;$ ?返回1代表两值不同以下凡用到$ ?均为该意
(3)简单示例3
2. 关系运算符——只支持数字不支持字符串
(1)简单示例1
(2)简单示例2
(3)简单示例3
(1)简单示例1
(2)简单示例2
(3)简单示例3
(1)简单示例1
(2)简单示例2
5. 文件测试运算符
(1)简单测试1
(2)简单测试2
(1)简单示例1
(2)简单示例2
[[ ]]是[ ]的plus版
(1)简单示例1
(2)简单示例2
(3)简单示例3
(4)简单示例4
注意事项:
test [选项] 文件名
test ${变量名1} [选项] ${变量名2}
(1)简单示例1
(2)简单示例2
(3)简单示例3
if 条件语句
then
代码块
fi
简单示例如下:
#接收一个参数,参数为hello时输出你好
read -p "请输入一个参数" a
if [ ${a} = "hello" ]
then
echo "你好"
fi
echo "程序结束"
运行效果如下:
if 条件语句
then
代码块
else
代码块
fi
简单示例如下:
if [ $1 -eq 1 ]
then
echo "分支1"
else
echo "分支2"
fi
echo "程序结束"
运行效果如下:
if 条件语句
then
代码块
elif 条件语句
then
代码块
...
else
代码块
fi
简单示例如下:
if [ $1 == 1 ]
then
echo "分支1"
elif [ $1 == 2 ]
then
echo "分支2"
else
echo "分支3"
fi
echo "程序结束"
运行效果如下:
与java或C语言中switch有异曲同工之妙,且有其独到之处
:<<a
case格式如下:
case 变量 in
情况1)
代码块
;;
情况2)
代码块
;;
...
;;
情况n)
代码块
;;
esac
a
read -p "请输入a的值" a
case ${a} in
1)
echo "a为1"
;;
2)
echo "a为2"
;;
3)
echo "a为3"
;;
*)
echo "a是其他"
;;
esac
循环是为了多次执行同一代码块
#for格式
for 变量名 in [{值1..值n}|值1 值2 值3]
do
代码块
done
注:[ | ]表示可选且必选
for val in {1..5};do echo ${val}; done
for val in 1 2 3 4 5;do echo ${val}; done
for val in `seq 5`;do echo ${val}; done
for val in $(seq 5);do echo ${val}; done
for var in {0..5..2}; do echo ${val}; done
for val in {2..5..2}; do echo ${val}; done
for val in {5..0};do echo ${val}; done
for val in {5..0.. -2};do echo ${val}; done
特殊情况(不写for后in)如下:
for var
do
echo ${val};
done
运行效果如下:
#格式如下
while 条件
do
代码块
done
简单示例如下:
#循环输出0-10
#!/bin/bash
a=0
while [ ${a} -lt 11 ]
do
echo ${a}
let a++
done
运行效果如下:
#格式如下
until 条件
do
代码块
done
简单示例如下:
#打印1-10
#!/bin/bash
a=1
until [ ${a} -eq 11 ]
do
echo ${a}
let a++
done
运行效果如下:
#输出1-10跳过3的倍数
for i in {1..10}
do
if [ $[ ${i} % 3 ] -eq 0 ]
then
continue
fi
echo ${i}
done
运行效果如下:
for i in {1..10}
do
echo "${i}"
if [ ${i} = 5 ]
then
echo "循环结束"
break
fi
done
运行效果如下:
for i in {1..10}
do
echo "${i}"
if [ ${i} -eq 4 ]
then
exit
fi
done
echo "程序结束"
运行效果如下:
#生成随机数
echo $[RANDOM]
#生成0-5的随机数
echo $[RANDOM%6]
a=('张三' '李四' '王五')
for i in ${a[*]}
do
echo ${i}
done
运行效果如下: