bash shell笔记整理——basename和dirname命令

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/
.


posted @ 2021-02-01 22:25  蕝戀  阅读(236)  评论(0编辑  收藏  举报