定义变量(中间没有空格)
a=8
使用变量
echo $a
计算加法(注意空格)
a=8
b=2
c=`expr $a + $b`
echo $c
如果是乘法,需要将 *
转义
c=`expr $a \* $b`
循环控制语句
if [...]
then
...
else
...
fi
...
注意:大于号,小于号等不能直接用符号
> -gt greater than
< -lt less than
>= -ge greater equeal
<+ -le less equal
= -eq equal
!= -ne no equal
案例
a=8
b=2
if [ $a -gt $b ]
then
echo $a
else
echo $b
fi
for循环
for1.sh
for x in {1..10}
do
echo $x
done
for2.sh
for((i=1;i<=10;i++));
do
echo $i
done
for3.sh
for((i=1;i<=10;i++));
do
echo $i
done
while循环
x=1
while [ $x -le 10 ]
do
echo $x
x=`expr $x + 1`
done
输入输出
echo "Please enter a: "
read a
echo "Please enter b: "
read b
c=`expr $a + $b`
echo $a + $b = $c
password="hello123"
echo "Please enter a password: "
read userPassword
if [ $password = $userPassword ]
then
echo "password correct"
else
echo "password wrong"
fi
判断字符串是否为空
str1="hello"
str2="world"
#-z 即-zero 用于判断是否空
#-n 即 -no zero 不空
if [ -z $str1 ]
then
echo "str1 is null"
else
echo "str1 is not null"
fi
数组
用bash
运行脚本,而不是sh
arr=(1 2 3 4)
#打印单个元素
#echo ${arr[1]}
#循环输出每一个元素
for i in ${arr[@]}
do
echo $i
done
max=${arr[0]}
for i in ${arr[@]}
do
if [ $i -gt $max ]
then
max=$i
fi
done
echo "max is:" $max
来源B站:正月点灯笼