(七)(八)Shell函数
七、系统函数
1. basename——文件名
basename [string / pathname] [suffix]
: 删除字符串或者地址中所有前缀,然后将字符串显示出来
选项:
- suffix后缀:如果suffix被指定了,basename删除字符串后者地址中的后缀
案例实操
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % basename /Users/sangxiaoqian/for.sh
for.sh
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % basename /Users/sangxiaoqian/for.sh .sh
for
2. dirname——文件绝对路径
dirname 文件绝对路径
: 获取给定绝对路径的文件名中的目录部分
sangxiaoqian@MBP-GDQ7F0673C-2307 HelloShell % dirname /Users/sangxiaoqian/for.sh
/Users/sangxiaoqian
八、自定义函数
[ function ] funname [()]
{
程序;
[return int;]
}
注意事项:
-
可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
-
必须在函数调用前,先声明函数
-
参数返回值,只能通过$?获取; 如果不加返回值,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)
案例实操
自定义加法函数
#!/bin/bash
function sum()
{
s=0
s=$[ $1 + $2 ]
echo $s
}
read -p "input param1: " p1
read -p "input param2: " p2
sum $p1 $p2