Linux Shell 之 Shell中的函数调用

来源:互联网 发布:js实现select 编辑:程序博客网 时间:2024/05/21 10:25
         本文通过实例来分析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表示没有错误,其他表示有错误;



0 0
原创粉丝点击