在shell脚本编程中,有的时候希望得到某个文件的目录信息或者去掉路径的文件 名信息。
dirname和basename就是这样的两个命令。
1 dirname: 去除文件中非目录部分
语法格式:dirname [option] [argument]
argument: 带目录的文件名,如/usr/bin/emacs
实例: 仅仅显示文件名中的目录信息
~/audio/bash/source$ dirname /usr/bin/emacs /usr/bin如果参数没有斜线,那么它就会打印一个'.',表示当前目录
~/audio/bash/source$ dirname emacs.el .
2 basename: 去掉文件名中的路径和后缀
语法格式:basename [option] [argument]
argument:
文件:带有路径信息的文件名,如/usr/bin/emacs
后缀:如果带有此项,则表示取出相应后缀,不带不去除。
实例: 如果没有后缀,则显示带后缀的文件名
~/audio/bash/source$ basename /usr/bin/emacs.el emacs.el有后缀的话,会显示去除后缀的文件名
~/audio/bash/source$ basename /usr/bin/emacs.el .el emacs