shell基础语法与函数
  ZLGFQDxSRQTs 2023年11月02日 29 0

shell语法

一、if 语句

if [ $VART -eq 10 ]
then
    echo "true"
else
    echo "false"
fi

二、case语句

case $变量 in
  "内容1")
      程序1
  ;;
  "内容2")
      程序2
  ;;
  *)     #匹配其他所有情况
      程序3
  ;;
esac

三、for 循环

for var in con1 con2 con3 ...
do
  程序
done

四、while 循环

while [ condition ]
do
  程序
done

五、break跳出循环

for VAR in 1 2 3
do
#   如何 VAR 等于 2 就跳出循环
    if [ $VAR -eq 2 ]
    then
        break
    fi

    echo $VAR
done

六、continue跳过本次循环

#!/bin/bash 

for VAR in 1 2 3
do
#   如果 VAR 等于 2,就跳过,直接进入下一次 VAR = 3 的循环 
    if [ $VAR -eq 2 ]
    then
        continue    
    fi

    echo $VAR
done

Shell 函数

1. 定义函数

有 3 种常见格式:

格式一:
function 函数名 () {  
        指令...  
}  

格式二:
function 函数名 {  
        指令...  
} 

格式三:
函数名 () {  
    指令...  
}

例如:

#!/bin/bash 

function hello_world(){
    echo "hello world fun"
    echo $1 $2
    return 1
}


function hello_world{
    echo "hello world fun"
    echo $1 $2
    return 1
}

hello()
{
    echo "hello fun"
}

2. 调用函数

如何调用上面的 3 个函数呢?

# 1. 直接用函数名调用 hello 函数
hello

# 2. 使用「函数名 函数参数」来传递参数
hello_world 1 2   # 1 2就是传递的参数$1 $2这里是使用位置参数传递的

# 3. 使用「FUN=`函数名 函数参数`」 来间接调用
FUN=`hello_world 1 2`
echo $FUN

3. 获取返回值

如何获取 hello_world 函数的返回值呢?还记得 $? 吗?

hello_world 1 2
# $? 可用于获取前一个函数的返回值,这里结果是 1 
echo $?

总结

语法是一种功能实现的方法,一套shell脚本是否优秀在于其复用性高不高、在于环境兼容性强不强、在于规范恰当不恰当,当然最重要的是稳定性,不稳定的自动化脚本犹如尘垢粃糠炊沙成饭,远不及手动部署简切了当

具体应用后续再与大家详谈!


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  bYdMetjCLs2g   2023年11月28日   25   0   0 bash
  wwLZeziuqjLR   2023年12月08日   103   0   0 Dockercentosbash
  mjtHZIki74si   2023年12月06日   32   0   0 ubuntubash
  hHWnOnebRjW2   2023年11月27日   25   0   0 PostgreSQLsqlbash
  vxoexqgjyiCS   2023年11月25日   23   0   0 linuxbash数组
ZLGFQDxSRQTs