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中的系统函数_第1张图片

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

shell中的系统函数_第2张图片

#!/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

shell中的系统函数_第3张图片

shell中的系统函数_第4张图片

#!/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"

 

你可能感兴趣的:(shell中的系统函数)