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 

 

你可能感兴趣的:(Linux)