bash shell 学习记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Co_zy/article/details/79828261

定义变量(中间没有空格)

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循环

扫描二维码关注公众号,回复: 3851002 查看本文章
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站:正月点灯笼

猜你喜欢

转载自blog.csdn.net/Co_zy/article/details/79828261
今日推荐