脚本基础2

在脚本内
#!/bin/bash

read -p "请输入一个数字" num
if [ $num -eq 60 ];then
    echo "猜对了"
    else
        echo "猜错了"
fi

这是一个完整的但分值if条件语句,两个动作必定执行一个。if如果,then那么,else否则,fi结尾。

 

在脚本内
#!/bin/bash

read -p "请输入一个数字" num  这是让用户给num赋值
if [ $num -eq 60 ];then
  echo "猜对了"
elif [ $num -lt 60 ];then
  echo "猜小了"   else echo "猜错了" fi

这是一个多分支if条件语句,三个动作必定也只能执行一个,写多分支语句时要注意,写第一个条件的范围不能涵盖第二个条件,优先级是从上到下执行的,符合一个就不会再往下看其他条件了。

在脚本内
#!/bin/bash

for i in 1 2 3 4 5
do
    echo $i
done

for是循环,让i从1 2 3 4 5里依次循环取值,有几个值就取几次。do是开始做什么,done是结束,他们之间叫作一个循环体。

在脚本内
#!/bin/bash

for ((i=0;i<10;i++))
do
  echo $i
done

写两个小括号是让shell支持C语言,首先i赋值0进入循环体,输出0到屏幕,然后执行i++这个动作(在自身+1),判断i此时符不符合小于10的条件,如果不符合就会进行下一轮循环,直到符合条件退出循环体。

在脚本内
#!/bin/bash

for ((i=0;;i++))
do
  echo $i
done

两个分号之间什么都不加就是无限循环,因为中间判断是空的。

在脚本内
#!/bin/bash

for i in {1..10}
do
  echo $i
  let i
++ 或
  
((i++))
done

let i++ 是让shell认识他,两个小括号是让shell支持C语言。


在脚本内
#!/bin/bash
read i
while [ $i -lt 10 ]
do
    echo $i
    let i++
    sleep 1
done

这是while循环,后面跟的是终止循环的条件,如果用户输入0,那么会输入0~9,sleep 1 是让等待1秒后进入下次循环

如果是while : 那么就是无限循环终止条件为空。

在脚本内
#!/bin/bash

read i
case $i in
        start)
            echo "服务启动"
        ;;
        stop)
            echo "服务停止"
        ;;
        *)
            echo "重新输入"
        ;;
esac

case是类似if的一种语句,他们最大的区别就是case是平级的,没有优先级,通常case用来做功能菜单和服务启动脚本。

在脚本内
#!/bin/bash

function (也可以不写) aihao(){
echo "吃饭"
echo "睡觉"
echo "打豆豆"
}

aihao

这个是函数体的格式,在脚本内如果不调用函数体,是不会有任何作用的,调用时写几次函数体的名字就调用几次。

在脚本内还有四种循环的控制语句

exit:终止整个脚本

break:退出单个距离最近的循环体

continue:退出一次循环,不退出循环体

return:退出整个函数体

 

原文地址:https://www.cnblogs.com/jinchuan16/p/9912513.html