美文网首页
Shell流程控制

Shell流程控制

作者: 村东头老骥 | 来源:发表于2020-02-09 18:53 被阅读0次

Shell流程控制

简单流程控制语句

单分支if语句

语法格式

if [ 条件 ] 
then
    指令 
fi

#!/bin/bash
# 单if演示
# 定义一个本地变量,用于接受脚本执行时候的参数
a="$1"
if [ "${a}" == "man" ]
then
    echo "您的性别是男"
fi

双分支if语句

语法格式

if [ 条件 ] 
then
    指令 1 
else
    指令 2 
fi

a="$1"

if [ "${a}" == "nan" ]
then
    echo "您的性别是男"
else
    echo "您的性别是女"
fi

多分支if语句

语法格式

if [ 条件 ] 
then
    指令 1 
elif [ 条件 2 ] 
then
    指令 2 
else
    指令 3 
fi

a="$1"

if [ "${a}" == "nan" ]
then
    echo "您的性别是男"
elif [ "${a}" == "nv" ]
then
    echo "您的性别是女"
else
    echo "您的性别暂时不知道"
fi

case选择语句

语法格式

case 变量名 in 
    值 1)
        指令 1
        ;; 
    值 2)
        指令 2
        ;; 
    值 3) 
        指令 3
        ;; 
esac

a="$1"

case "${a}" in 
    "start")
        echo "服务器启动中"
        ;;

    "stop")
        echo "服务器关闭中"
        ;;
    "restart")
        echo "服务器重启中..."
        ;;
    *)
        echo "$0 脚本的使用方式": $0 [start|stop|restart]
        ;;
esac

注意 :

  • 首行关键字是case,末行关键字esac
  • 选择项后面都有 )
  • 每个选择的执行语句结尾都有两个分号;

for循环

语法格式

for 值 in 列表
do 
    执行语句
done

#!/bin/bash

for i in $(ls /root)
do
    echo "${i}"
done
// ------------------------------
# bash for.sh 
master.zip
oldCode
software
test.py
vim.txt
workspace

while 循环语句

语法格式

while 条件 
do 
    执行语句
done

#!/bin/bash
a=1
while [ "${a}" -lt 5 ]
do
    echo "${a}"
    a=$((a+1))
done

注意 : 条件的类型
命令、[[ 字符串表达式 ]]、(( 数字表达式 ))

until循环 语句

使用场景 : 只要条件不满足的时候,就一直循环下去

语法格式

until 条件 
do 
    执行语句 
done

#!/bin/bash
a=1
until [ "${a}" -eq 5 ]
do 
    echo "${a}"
    a=$((a+1))
done

Shell函数

定义函数以及调用函数

函数名(){ 
    函数体
 }
// 调用函数
函数名

#!/bin/bash

# 定义函数
sayHello(){
    echo "hello word"
}

# 调用函数
sayHello

# 传入参数
函数名 参数
# 函数体调用参数
函数名(){ 
  函数体 $n 
}

#!/bin/bash

# 定义函数
sayHello(){
        echo "hello word $1"
        echo "hello word $2"
        echo "hello word $3"
}

# 调用函数
# sayHello kevin Tom cat
sayHello $1 $2 $3

相关文章

  • 10.Shell编程三:Shell中流程控制

    Shell中流程控制

  • lx4.shell2

    shell2 shell函数 字符隔断和迭代器 IFS 流程控制 循环

  • 2022-08-13 Linux基础知识(4)- Shell (

    Shell (二) | Shell 数组、流程控制 查看内容请点击下面的链接: https://www.cnblo...

  • shell(五)

    Shell 流程控制 和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): 在...

  • # shell流程控制语句

    shell流程控制语句 任何编程语言都离不开流程控制语句,其实编程基本上就是掌握了流程控制语句,然后加上函数(或者...

  • Shell流程控制

    Shell流程控制 简单流程控制语句 单分支if语句 语法格式 双分支if语句 语法格式 多分支if语句 语法格式...

  • linux shell编程学习--四函五流

    shell控制流程if else 语法,test、[] 、[[]]、(())、let 使用注意,如果没有else后...

  • Shell 流程控制

    和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): 在sh/bash里可不能...

  • shell 流程控制

    条件判断 if 单支流程控制 语法: 双分支 if 语句 语法 实例 多分支if 语法 实例 case 语句 语...

  • shell 流程控制

    菜鸟教程 单分支if条件语句 代码1 双分支if条件语句 多分支 case 语句 格式 for 循环 语法1 示例...

网友评论

      本文标题:Shell流程控制

      本文链接:https://www.haomeiwen.com/subject/bnmgxhtx.html