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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章