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

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