linux中的shell有系统函数;shell编程和其他编程语言一样有系统函数,同时也可以自定义函数,例如可以利用basename系统函数来获取文件名,语法为“basename [pathname] [suffix]”,利用dirname系统函数来返回文件的路径部分,语法为“dirname 文件位置”。

本教程操作环境:linux7.3系统、Dell G3电脑。
linux中的shell有系统函数吗
linux中的shell有系统函数
函数介绍
shell 编程和其它编程语言一样,有系统函数,也可以自定义函数。系统函数中,我们这里就介绍两个。
1. 系统函数
basename基本语法
功能:返回完整路径最后 / 的部分,常用于获取文件名
basename [pathname] [suffix]
basename [string] [suffix] (功能描述:basename 命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。
选项:
suffix 为后缀,如果 suffix 被指定了,basename 会将 pathname 或 string 中的 suffix 去掉。
应用实例
案例 1:请返回 /root/test-linux/aaa/aaa.txt 的 “aaa.txt” 部分
basename /root/test-linux/aaa/aaa.txt
可以使用 basename 来获取文件名。把后缀带上就只会返回文件名,没有后缀

dirname 基本语法
TURF(开源)权限定制管理系统(以下简称“TURF系统”),是蓝水工作室推出的一套基于软件边界设计理念研发的具有可定制性的权限管理系统。TURF系统充分考虑了易用性,将配置、设定等操作进行了图形化设计,完全在web界面实现,程序员只需在所要控制的程序中简单调用一个函数,即可实现严格的程序权限管控,管控力度除可达到文件级别外,还可达到代码级别,即可精确控制到
功能:返回完整路径最后 / 的前面的部分,常用于返回路径部分
dirname 文件绝对路径 (功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩
下的路径(目录的部分))
应用实例
案例 1:请返回 /root/test-linux/aaa/aaa.txt 的 /root/test-linux/aaa
dirname /root/test-linux/aaa/aaa.txt

2. 自定义函数
基本语法
[ function ] funname[()]
{
Action;
[return int;]
}调用直接写函数名:funname [值]
应用实例
案例 1:计算输入两个参数的和(动态的获取), getSum
#!/bin/bash
#定义一个函数 getSum
function getSum(){
SUM=$[$n1+$n2]
echo "和是=$SUM"
}
#输入两个值
read -p "请输入一个数n1=" n1
read -p "请输入一个数n2=" n2
#调用自定义函数
getSum $n1 $n2
推荐学习:Linux视频教程









