Linux shell腳本編程總結(四、函數傳參與返回值)

本文主要介紹shell腳本的傳參與函數返回值,首先看個表格,瞭解一下shell腳本編程中幾個特殊變量。

$0 當前腳本的文件名
$n 傳遞給腳本或函數的參數,n是一個數字,表示是第幾個參數。如:$1是第一個參數,$2是第二個參數,以此類推
$# 傳遞給腳本或函數的參數個數
$* 傳遞給腳本或函數的所有參數
$@ 傳遞給腳本或函數的所有參數
$? 上個命令執行狀態或者函數的返回值
$$ 當前shell腳本的進程id

舉個例子說明:

#!/bin/bash
function is_num()
{
    num=$1                //$1表示傳遞給函數is_num的第一個參數
    n1=`echo $num|sed 's/[0-9]//g'`
    if [ ! -z $n1 ]
    then
        #echo "this is not a num,please input num"
        return 0
    fi    
    return 1
}
 
function for_valid()
{
    echo "參數個數:$#"
    for num in $@        //遍歷參數,$@表示傳遞給函數for_valid的所有參數
    do 
        is_num $num
        if [ $? -eq 0 ]; then        //#?表示函數返回值
            echo "$num 不是數字"
            #return 0
        else
            echo "$num 是數字"
            #return 1
        fi
    done  
}
 
echo "當前腳本文件0:$$,當前進程id號:$$"
for_valid 1 2 a b c 7 8 

 

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