linux_shell编程函数

1 系统函数

1)basename基本语法

basename [pathname] [suffix]

basename [string] [suffix]   (功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。

选项:

suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。

2)案例

[atguigu@hadoop102 opt]$ basename /opt/test.txt

test.txt

[atguigu@hadoop102 opt]$ basename /opt/test.txt .txt

test

3)dirname基本语法

dirname 文件绝对路径 (功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分))

4)案例

[atguigu@hadoop102 opt]$ dirname /opt/test.txt

/opt

9.8.2 自定义函数

1)基本语法:

[ function ] funname[( )]

{

Action;

[return int;]

}

 

function start() / function start / start()

注意:

(1)必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样先编译。

(2)函数返回值,只能通过$?系统变量获得,可以显示加:return返回,如果不加,将以最后一条命令运行结果,作为返回值。return后跟数值n(0-255)

2)案例

(1)打印出比你输入小的所有数(单参)

#!/bin/bash   

function LoopPrint()    

{    

    count=0;    

    while [ $count -lt $1 ] ;    

    do    

echo $count;  

expr ++count;  

sleep 1;    

    done    

    return 0;    

}  

read -p "Please input the number: " n;    

LoopPrint $n;  

(2)多参

#!/bin/bash   

function LoopPrint()    

{    

    echo $2  

    count=0;    

    while  [ $count -lt $1 ];    

    do    

echo $count;    

expr ++count;    

sleep 1;    

    done    

    return 0;    

}  

read -p "Please input the num1: " n;    

read -p "Please input the num2: " m;  

LoopPrint $n $m;

你可能感兴趣的:(linux)