JAVA全系列 教程
3762个小节阅读:7088.4k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
其实我们可以把所有的系统命令当成是系统函数来调用
basename
的作用是获取文件名称,它会删除所有的前缀包括最后一个"/"字符,然后将字符串显示出来
xxxxxxxxxx
basename [string/pathname][suffix]
suffix为后缀,如果suffix被指定了,basename将会pathname或string中的suffix去掉
我们可以先拿一个路径或者字符串测试
xxxxxxxxxx
basename /scripts/cmd_test.sh
basename /scripts/cmd_test.sh .sh
basename /abc/def/cmd_test.sh
/abc/def/cmd_test.sh .sh
现在我们回忆一下之前讲解的特殊变量$n
,其中$0
是获取当前名字,但是带有路径,我们只希望获取名字,所以可以通过basename
去掉路径,甚至去掉后缀
xxxxxxxxxx
#!/bin/bash
echo '=====$n====='
echo script name:$0
xxxxxxxxxx
#!/bin/bash
echo '=====$n====='
echo script name:$(basename $0 .sh)
dirname
获取文件路径的绝对路径,从给定的包含绝对路径的文件名中去除文件名,然后返回剩余的路径
xxxxxxxxxx
dirname /scripts/cmd_test.sh
dirname /abc/def/cmd_test.sh
我们可以获取某个文件的绝对路径
xxxxxxxxxx
#!/bin/bash
echo '=====$n====='
echo script path:$(cd $(dirname $0); pwd)
echo script name:$(basename $0 .sh)