流程控制汇总:
if 判断:
--------------------------------------
if [ condition1 ]; then
statement1
elif [ condition2 ]; then
statement2
else
statement3
fi
---------------------------------------
利用case
... esca 判断
-----------------------------------------
case $VarName
in
"varlue1")
statement1
;;
"varlue2")
statement2
;;
*)
statement3
;;
esac
-------------------------------------------
循环:
while 语句
-------------------------------------------
whlie [ condition ]; do
statement
done
------------------------------------------
until 语句
-------------------------------------------
until [ condition ]; do
statement
done;
------------------------------------------
for 语句
------------------------------------------
for var
in con1 con2 con3
...
do
statement
done
for ((初始值; 限制值; 执行步长))
do
statement
done
------------------------------------------
if 语句
比较字符:
利用 test || [] 命令来测试
-
-------------------------- 文件类型测试 ------------------test -e filename----------------
-
e // 判断该文件名是否存在
-
f // 判断该文件名是否存在且为文件
-
d // 判断该文件是否存在且为目录
-
b | -c | -S | -p | -L
-
------------------------- 文件权限测试-------------------test -r filename-----------------
-
r | -w | -x | -u | -g | -k | -s |
-
s // 文件是否存在且为非空
-
----------- 两个文件之间的比较-----test f ile1 -nt file2-------------
-
nt // 测试第一个文件是否比第二个文件新
-
ot // 测试第一个文件是否比第二个文件旧
-
ef // 测试第一个文件是否与第二个文件相等
-
----------- 整数的比较 ---------test num1 -lt num2 ----------
-
eq // 两整数值相等
-
ne // 两整数值不相等
-
lt // 小于
-
le // 小于等于
-
gt // 大于
-
ge // 大于等于
-
-------- 字符串数据 ----------test -z string -------
-
z // 判断字符串是否为空
-
n // 判断字符串是否为非空
=
// 判断字符串是否相等
!=
// 判断字符串是否不想等
-
---------逻辑测试 ---------- test -r filename -a -x filename
-
a // 与逻辑
-
o // 或逻辑
! // 非逻辑
```
```
#!bin/bash
for((i=1;i<10;i++))
do
if (($i == 5))
then
echo "$i == 5"
fi
if (($i > 5))
then
echo "$i > 5"
fi
if [ $i -ge 5 ]
then
echo "$i => 5"
fi
if [ $i -lt 5 ]
then
echo "$i < 5"
fi
if [ $i -le 5 ]
then
echo "$i <= 5"
fi
done
for 循环
#!/bin/bash
value=
$@
for val
in $value
do
echo "val = $val"
sleep
1
done
exit 0
while 循环
#!/bin/bash
while read line
do
echo $line
done
exit 0
这里顺便提供两种按行读取文件的方式,我们需要借助 read 来读取一行数据,配合 while 来使用
#!/bin/bash
cat fileName |
while read line
do
echo ${line}
done
#!/bin/bash
while read strLine
do
echo ${strLine}
done < fileName
case
#!/bin/bash
read name
case "$name" in
mary|roland|
"jack")
echo "welcome back"
echo "long time no to see"
echo "how do you do"
;;
may|joe)
echo "welcome ...."
echo "what do you want to do"
;;
esac
exit 0
转载请注明原文地址: https://ju.6miu.com/read-970604.html