函数

系统函数

basename基本语法

basename [string/pathname] [suffix]

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

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

案例实操

截取该/home/atguigu/banzhang.txt路径的文件名

[root@slave2 testshell]# basename /home/atguigu/banzhang.txt
banzhang.txt

dirname基本语法

dirname 文件绝对路径

功能描述:从给定的包含绝对路径的文件名中去除文件名

案例实操

获取banzhang.txt文件的路径

[root@slave2 testshell]# dirname /home/atguigu/banzhang.txt
/home/atguigu

自定义函数

基本语法

[ function ] funname [()]
{
    action;
    [return int;]
}

说明:

  • 可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
  • 必须在调用函数地方之前,先声明函数,shell脚本是逐行运行的
  • 参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)

案例实操

求两个数的和

[root@slave2 testshell]# vim fun_add.sh 
#!/bin/bash

function sum()
{
        s=0;
        s=$[$1+$2];
        echo $s;
}
read -p "input your param1:" P1
read -p "input your param2:" P2

sum $P1 $P2
~               
"fun_add.sh" 12L, 138C written                                                                                                      
[root@slave2 testshell]# bash fun_add.sh 
input your param1:1
input your param2:2
原文地址:https://www.cnblogs.com/zxbdboke/p/10420416.html