1.系统函数
1.basename基本语法
basename[string/pathname] [suffix](功能描述:basename命令会删除掉所有的前缀包括最后一个"/"字符,然后将字符串显示出来)
选项:
suffix为后缀,如果suffix被指定了,basename会将string或pathname中的suffix去掉。
2.dirname基本语法
dirname 文件绝对路径(功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分))
实列:
hyh@LAPTOP-7QEMRKKO MINGW64 /d/myShell
$ basename /d/myShell/for2.sh
for2.sh
hyh@LAPTOP-7QEMRKKO MINGW64 /d/myShell
$ basename /d/myShell/for2.sh .sh
for2
hyh@LAPTOP-7QEMRKKO MINGW64 /d/myShell
$ dirname /d/myShell/for2.sh
/d/myShell
hyh@LAPTOP-7QEMRKKO MINGW64 /d/myShell
$ pwd
/d/myShell
自定义函数
1.基本语法
function functionname[()]{
Action;
[return int;]
}
functionname
2.使用技巧
(1):必须在调用函数前,先声明函数,shell脚步时逐行运行,不会像其他语言一样先编译。
(2)函数返回值,只能通过$?系统变量获得,可以显示加:return如果不加,将以最后一条命令的结果作为返回值,return后跟数值n(0-255)
案例:
计算输入两个参数的和
$ cat fun.sh
#!/bin/bash
function sum(){
s=0;
s=$[ $1+$2 ]
echo $s
}
read -p "请输入第一个参数:" n1
read -p "请输入第二个参数:" n2
sum $n1 $n2
hyh@LAPTOP-7QEMRKKO MINGW64 /d/myShell
$ bash fun.sh
请输入第一个参数:1
请输入第二个参数:2
3
hyh@LAPTOP-7QEMRKKO MINGW64 /d/myShell
$ echo $?
0