shell脚本入门2

shell脚本条件判断、函数和循环

一、shell脚本条件判断

shell脚本支持条件判断
虽然可以通过&&和||实现简单的条件判断
但稍微复杂一点的场景就不适合了
shell脚本提供了3中条件判断的写法

1.1、if then语句

伪代码
if [ 条件判断 ];then
    todo #条件判断成立要做的事情
fi
#!/bin/bash
read -p "input y or n:" value
if [ $value == "y" ] || [ $value == "Y" ]; then
    echo "input param is:" $value
fi
if [ $value == "n" ] || [ $value == "N" ]; then
    echo "input param is:" $value
fi

1.2、if then else语句

伪代码
if [ 条件判断 ];then
    todo #条件判断成立要做的事情
else
    todo #条件判断成立要做的事情
fi
伪代码
if [ 条件判断 ];then
    todo #条件判断成立要做的事情
elif [ 条件判断 ];then
    todo #条件判断成立要做的事情
else
    todo #条件判断成立要做的事情
fi
#!/bin/bash
read -p "input y or n:" value
if [ $value == "y" ] || [ $value == "Y" ]; then
    echo "input param is:" $value
    echo "is programming"
elif [ $value == "n" ] || [ $value == "N" ]; then
    echo "input param is:" $value
    echo "not program"
else
    echo "input param is:" $value
    echo "input error"
fi

1.3、case语句

伪代码
case $变量 in
    "第1个变量内容")
        todo
        ;; //两个分号表示该程序块结束
    "第2个变量内容")
        todo
        ;;
    *) #通配符
        todo
        ;;
esac
#!/bin/bash
case $1 in
    "a")
        echo "input param is:" $1
        ;;
    "b")
        echo "input param is:" $1
        ;;
    *)
        echo "input error:" $1
        ;;
esac

二、shell脚本函数

shell脚本也支持函数,函数的写法如下:

伪代码
function funcname()
{
    todo //函数体
}

2.1 函数不传参

#!/bin/bash
function help()
{
    echo "this is help function"
}

function close()
{
    echo "this is close function"
}

case $1 in
    "-h")
        help
        ;;
    "-c")
        close
        ;;
    *)
        echo "input error"
        ;;
esac

2.2函数传参

#!/bin/bash
function print()
{
    echo "first input param is:" $1
    echo "second input param is:" $2
}

print a b

三、shell循环

shell脚本也支持循环

3.1、while do done,表示当条件成立的时候就一直循环,知道条件不成立

伪代码
while [条件] //括号内的状态是判断式
do
    todo //循环代码段
done
#!/bin/bash
while [ "$value" != "close" ]
do 
    read -p "input param:" value
done
echo "while end"

3.2、另外一种until do done,表示条件不成立的时候循环,条件成立以后就不循环了

伪代码
until [条件]
do
    todo //循环代码段
done
#!/bin/bash
until [ "$value" == "close" ]
do 
    read -p "input param:" value
done
echo "while end"

3.3、for循环,使用for循环可以知道有循环次数

伪代码
for var in con1 con2 con3 ...
do
    todo //循环代码段
done
#!/bin/bash
for var in aaa bbb ccc
do
    echo "the value is $var"
done

3.4、for循环数值处理

伪代码
for((初始值;限制值;执行步长))
do
    todo //循环代码段
done
#!/bin/bash
read -p "input count:" count
for((i=0; i<=count; i++))
do
    total=$(($total + $i))
done
echo "from 1 add to $count is $total"

四、参考资料

该笔记大部分内容来自学习正点原子视频课程shell脚本条件判断、函数和循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值