bashname命令作用
去掉给定name的目录部分,如果指定了 SUFFIX, 就 同时去掉SUFFIX(后缀).具体看示例吧。
bashname语法
Usage:
basename NAME [SUFFIX]
or:
basename OPTION... NAME...
选项 | 作用 |
---|---|
-s, --suffix=SUFFIX | remove a trailing SUFFIX |
bashname示例
[root@nginx-proxy1 ~]# basename /usr/bin/sort
sort
[root@nginx-proxy1 ~]# basename include/stdio.h
stdio.h
[root@nginx-proxy1 ~]# basename include/stdio.h .h
stdio
[root@nginx-proxy1 ~]# basename -s .h include/stdio.h
stdio
dirname命令作用
去除给定NAME中最后出现“/”字符以及后面的内容并返回。如果最后一个/后面没有任何字符,则使用倒数第二个/并删除其与其后面的字符。(具体请看示例就明白了)
简单理解为:获取给定NAME的目录名,但是这样理解并不是特别精准,至少我个人是这样觉得的。。。
PS:dirname给定的NAME不一定要存在的,随便给都行!
dirname语法
dirname [选项] NAME...
dirname示例
[root@nginx-proxy1 ~]# dirname /asdad/sada.conf
/asdad
[root@nginx-proxy1 ~]# dirname "/asdad/sada.conf/"
/asdad
# 给定asdad/,因为最后一个/并没有字符,因此时候倒数第二个,倒数第二/并不存在,所以直接删完了,返会.表示当前目录
[root@nginx-proxy1 ~]# dirname asdad/
.