首先使用 --help 参数查看一下。
basename命令参数很少,很容易掌握。
- $ basename --help
用法示例:
$ basename /usr/bin/sort 输出"sort"。
$ basename ./include/stdio.h .h 输出"stdio"。
为basename指定一个路径,basename命令会删掉所有的前缀包括最后一个slash(‘/’)字符,然后将字符串显示出来。
basename命令格式:
basename [pathname] [suffix]
basename [string] [suffix]
suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。
示例:
- $ basename /tmp/test/file.txt
- file.txt
- $ basename /tmp/test/file.txt .txt
- file
注意点:
1、如果像下面脚本中传递参数给basename,参数为空,basename会将参数左移
2、basename最多接受两个参数,如果设置的参数多于两个,会提示错误。
参考:http://en.wikipedia.org/wiki/Basename
以下是一个简单的脚本,测试了一下basename:
- #!/bin/bash
- # basename.sh
- echo Testing basename
- echo -------------
- echo “basename $1/$2 .txt; suffix is .txt”
- filename=
basename $1/$2 .txt
- echo $filename
- echo -------------
- echo “basename ab.c .c; suffix is .c”
- basename ab.c .c
- echo “basename ab b; suffix is b”
- basename ab b
- echo -------------
- echo Testing $@ and $#
- echo Output $@
- echo $@
- echo Output $#
- echo $#
- # end of basename.sh
脚本运行结果:
- 没有参数传递的情况:
- $./basename.sh
- Testing basename
-
- basename $1/$2 .txt; suffix is .txt
- /
-
- basename ab.c .c; suffix is .c
- ab
- basename ab b; suffix is b
- a
- Testing @ a n d @ and @ and #
-
- Output $@
- Output $#
- 0
- 传递参数的情况:
- $ ./basename.sh 1.txt 2.txt
- Testing basename
-
- basename $1 .txt; suffix is .txt
- 1
-
- basename ab.c .c; suffix is .c
- ab
- basename ab b; suffix is b
- a
- Testing @ a n d @ and @ and #
-
- Output $@
- 1.txt 2.txt
- Output $#
- 2
额外补充:
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
uZZ-1714282343354)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新