函数
basename [string/pathname] [suffix]
选项: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