您的位置:首页 > 运维架构 > Shell

Linux Shell 之 Shell中的函数调用

2015-07-28 16:03 525 查看
         
本文通过实例来分析shell中的函数使用。
一、Shell中函数的定义
为了方便程序和管理和模块化并减少代码的重复,函数是一个很好的可以共用的模块。而Shell中函数的定义有两种方法,如下:
function fname()
{
statements;
}

fname()
{
statements;
}
注意,()内是没有参数的,它并不像C语言那样,在()里可以有参数。

二、函数的调用、使用

1、调用外部的函数,直接在本函数内添加
. fname.sh

然后:

fname  #不带参数的

fname agr1 agr2   #带参数的

2、本部的函数则可以直接使用

fname  #不带参数的

fname agr1 agr2   #带参数的

三、自定义函数

例如:判断文件是否存在

========

function fileExit()

{

    filename=$1 ;

    if [ -e "${filename}" ]

    then

        echo $1 " file is exit."

    else

        echo $1 " is not exit."

    fi

}

read -p "Please input the file name you want: " file ;

fileExit $file ;

========

例如:根据输入的次数来进行打印

========

function LoopPrint()

{

    count=0;

    while [ $count -lt $1 ];

    do

    echo $count;

    echo $0;

    let ++count;

    sleep 1;

    done

    return 0;

}

read -p "Please input the times of print you want: " n ;

LoopPrint $n ;

==========

运行后输入打印的次数,即可每个1s进行打印

关于函数中变量的含义如下:

$0:是脚本本身的名字;

$#:是传给脚本的参数个数;

$@:是传给脚本的所有参数的列表,即被扩展为"$1" "$2" "$3"等;
$*:是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个,即被扩展成"$1c$2c$3",其中c是IFS的第一个字符;
$$:是脚本运行的当前进程ID号;

$?:是显示最后命令的退出状态,0表示没有错误,其他表示有错误;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: