shell脚本编程(三)——变量、常量和函数

本文介绍了shell脚本中的函数,包括两种等价的函数语法,并通过实例展示了如何应用函数。同时,文章讲解了全局变量与局部变量的区别,全局变量定义在函数外部,而局部变量由`local`关键字在函数内部定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shell script 变量、常量和函数

函数

shell函数有两种语法:

  • 第一种
function name{
    commands
    return
}
  • 第二种
name (){
    commands
    return
}

这两种格式等价,可以交替使用。
例1:应用函数

#!/bin/bash
#shell function demo

function funct{
    echo "step 2"
    return
}

#Main program starts here
echo "step 1"
funct
echo "step 3"

将输出

step 1
step 2
step 3

下面给我们的最小的网页添加一些shell函数

#!bin/bash
#program to output a system information page

TITLE=System Information Report For $HOSTNAME
CURRENT_TIME=$(data +"%x")
TIME_STAMP="Generate $CURRENT_TIME,by $USER"

report_uptime(){
    return
}
report_disk_space(){
    return
}
report_home_space(){
    return
}
cat << EOF
<HTML>
        <HEAD>
                <TITLE>$TITLE</TITLE>
        </HEAD>
        <BODY>
                <H1>$TITLE</H1>
                <P>$TIME_STAMP</P>
                $(report_uptime)
                $(report_disk_space)
                $(report_home_space)
        </BODY>
</HTML>
EOF

全局变量与局部变量

定义在函数外部(即不属于任何一个函数的变量)为全局变量
定义在某个函数内部,且由local标记的变量为局部变量。
例2:

#!bin/bash
#local and global vars

foo=0 #global variable foo

funct() {
    local foo
    foo=1
    echo "funct_1: foo=$foo"
}

echo "global: foo=$foo"
funct

可以看到

global: foo=0
funct_1: foo=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值