shell中的系统函数

shell中的系统函数

函数介绍

shell 编程和其它编程语言一样,有系统函数,也可以自定义函数。系统函数中,我们这里就介绍两个。

系统函数

basename 基本语法
功能:返回完整路径最后 / 的部分,常用于获取文件名
basename [pathname] [suffix]

basename [string] [suffix] (功能描述:basename 命令会删掉所有的前缀包括最后一个(‘/’)
字符,然后将字符串显示出来。
选项:
suffix 为后缀,如果 suffix 被指定了,basename 会将 pathname 或 string 中的 suffix 去掉。

应用实例

案例 1:请返回 /root/shell/bbb.txt 的 "bbb.txt" 部分

看下图,直接在终端命令行写

当然啦,你也可以写到shell脚本中去,如下图:

#!/bin/bash

#将命令的返回值赋给变量
MYFILENAME1=`basename /root/shell/bbb.txt`
#将命令的返回值赋给变量
MYFILENAME2=$(basename /root/shell/bbb.txt .txt)
echo "-----带后缀的文件名-----"
echo "文件名是$MYFILENAME1"
echo "-----不带后缀的文件名-----"
echo "文件名是$MYFILENAME2"

dirname 基本语法

功能:返回完整路径最后 / 的前面的部分,常用于返回路径部分
dirname 文件绝对路径 (功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分))

案例 2:请返回 /home/aaa/test.txt 的 /home/aaa

#!/bin/bash

#将命令的返回值赋给变量
MYFILENAME1=`basename /root/shell/bbb.txt`
#将命令的返回值赋给变量
MYFILENAME2=$(basename /root/shell/bbb.txt .txt)
echo "-----带后缀的文件名-----"
echo "文件名是$MYFILENAME1"
echo "-----不带后缀的文件名-----"
echo "文件名是$MYFILENAME2"
MYDIR=`dirname /root/shell/bbb.txt`
echo "文件目录是$MYDIR"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值