1 seq语句

image.pngimage.png

2 for语句

image.png
image.png

3 应用-监控某主机存活脚本

  1. for ((;;))
  2. do
  3. ping -c1 $1 &>/dev/null
  4. if [ $? -eq 0 ]; then
  5. echo -e "`date +"%F %H:%M:%S"` $1 is UP"
  6. else
  7. echo -e "`date +"%F %H:%M:%S"` $1 is DOWN"
  8. fi
  9. # 每5秒ping一次
  10. sleep 5
  11. done

注:
ping -c1 $1 &>/dev/null

  • ping -c1: c指count, 这里就是只ping一次
  • &: 指后台运行
  • /dev/null: 标准输出和错误输出都输出到空设备上, 其实就是丢弃所有输出

    4 应用-输入字符Q时退出

    1. for ((;;))
    2. do
    3. read -p "char:" ch
    4. if [ $ch == "Q" ]; then
    5. break
    6. else
    7. echo "你输入的字符是:$ch"
    8. fi
    9. done

    5 应用-跳出多次循环

    1. for((i=0;i<100;i++));do
    2. echo "loop$i"
    3. for((;;));do
    4. echo "directly break 2 layer"
    5. break 2
    6. done
    7. done

    6 应用-丈母娘选女婿

    ```shell read -p “money:” money read -p “car:” car read -p “house:” house

while (( $money < 10000 )) || (( $car < 1 )) || (( $house < 1 )); do echo “不行” read -p “money:” money read -p “car:” car read -p “house:” house done

echo “给你了”

  1. <a name="OdoIS"></a>
  2. # 7 应用-九九乘法表
  3. ```shell
  4. for((i=1;i<10;i++)); do
  5. for((j=1;j<=i;j++)); do
  6. echo -n -e "$i*$j=$(($i*$j))\t"
  7. done
  8. echo ""
  9. done

image.png