linux中的shell有系统函数吗

2022年6月26日 63点热度 0人点赞

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

linux中的shell有系统函数吗插图

本教程操作环境: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 来获取文件名。把后缀带上就只会返回文件名,没有后缀

01.png

dirname 基本语法

功能:返回完整路径最后 / 的前面的部分,常用于返回路径部分

dirname 文件绝对路径 (功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩

下的路径(目录的部分))

应用实例

案例 1:请返回 /root/test-linux/aaa/aaa.txt 的 /root/test-linux/aaa

dirname /root/test-linux/aaa/aaa.txt

02.png

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

03.png

推荐学习:Linux视频教程

99君

这个人很懒,什么都没留下