1. 程式人生 > >【shell】Linux shell函數入門講解

【shell】Linux shell函數入門講解

shell 函數 linux 運維 自動化

Linux shell函數

寫在前面:函數,這個詞在剛剛入門的同學看來很高大上,其實不然,shell裏面的函數非常簡單,函數的作用其實就是減少代碼量,所以這邊的篇幅可能會稍微短一點。

函數的基本格式

函數的格式:
function functionname(){
函數內容

}

建議:直接使用 functionname(){}格式,前面不需要加function關鍵字,因為本來函數就是用來減少代碼量的,加上關鍵字function並沒有什麽作用。

註意:定義了函數必須調用才能生效,只定義是沒有任何效果的哦!

函數的運用場景

假設有一個代碼是需要多次使用,而我們又不想寫重復的代碼,那麽這時候我們就可以使用函數了,把重復的代碼寫在一個函數中,如果需要調用的話我們就可以直接調用函數即可。

例子:
判斷文件是否存在,如果不存在則返回一串很長的字符提示。這時我們兩種做法,一種是多敲一遍重復的代碼。

[ -z a.txt ] && echo fdsfsdfsdfkslfjklsdjfklsdfjkl || echo fjklsfjlsjflkjlkjlkjafsd
[ -z b.txt ] && echo fdsfsdfsdfkslfjklsdjfklsdfjkl || echo fjklsfjlsjflkjlkjlkjafsd
[ -z c.txt ] && echo fdsfsdfsdfkslfjklsdjfklsdfjkl || echo fjklsfjlsjflkjlkjlkjafsd

第二種,把重復的值寫到一個函數中,然後調用。

創建函數andinfo
andinfo(){
        echo fdsfsdfsdfkslfjklsdjfklsdfjkl
}

創建函數orinfo
orinfo(){
        echo fjklsfjlsjflkjlkjlkjafsd
}

調用函數
[ -z a.txt ] && andinfo || orinfo

運行結果:
[root@XiaoPeng scripts]# bash test1.sh 
fjklsfjlsjflkjlkjlkjafsd

註意:shell中函數的調用不需要‘()‘,直接寫函數名即可;shell中的函數不能傳參。

版權所有:arppinging

【shell】Linux shell函數入門講解