函数
9.1 系统函数
-
basename
1)基础语法
basename
[string
/pathname
] [suffix
]:此命令会删除所有的前缀包括最后一个(’/’)字符,然后将字符串显示出来。选项:
suffix
为后缀,如果指定suffix
被指定,basename
会将pathname
或string
中的suffix
去掉。2)案例操作
#截取“/home/local/test.txt”路径的文件名称 basename /home/local/test.txt ########################################### test.txt ########################################### basename /home/local/test.txt .txt ########################################### test ###########################################
-
dirname
1)基础语法
dirname
:文件的绝对路径,获取文件的目录2)案例操作
dirname /home/local/test.txt ######################################## /home/local ########################################
9.2 自定义函数
-
基础语法
[function] functionName [()] { action [return int;] }
-
经验技巧
1)必须在调用函数的地方之前,先声明函数,shell脚本是逐行运行的,不会像其他语言一样预先编译。
2)函数返回值,只能通过$?系统变量获得,可以显示加:return返回,如果没有return,将会以最后一条命令运行的结果作为返回值,return后跟数值n(0-255)
-
案例操作
#计算输入的两数之和 touch fun.sh vim fun.sh ########################################################## #!/bin/bash function sum(){ s=0 s=$[ $1 + $2 ] echo "$s" } read -p "input number1:" n1; read -p "input number2:" n2; sum $n1 $n2; ########################################################## sh ./fun.sh