dirname 命令
dirname 命令
用途
将指定路径除了最后以外的部分写到标准输出。
语法
dirname Path
描述
dirname 命令读取指定路径名保留最后一个“/”(斜杠)及其后面的字符,删除其他部分,并写结果到标准输出。如果最后一个“/”后无字符,dirname 命令使用倒数第二个“/”,并忽略其后的所有字符。dirname 命令在创建路径名的时候遵从以下规则:
如果 Path 参数为“//”(双斜杠),或者参数 Path 全部由斜杠组成,将其转换为单斜杠“/”。跳过步骤 2 到 7。
从指定路径删除尾部的“/”字符。
如果参数 Path 中没有剩下的“/”,则将路径转换成 . (点)。跳过步骤 4 到 7。
从路径中删除尾部的所有非斜杠字符。
如果剩下的路径为“//”(双斜杠),跳到步骤 6。
删除路径尾部的斜杠字符。
如果剩下的路径为空,则转换成单斜杠“/”。
例如,输入:
dirname //
结果为 /(斜杠)。输入:
dirname /a/b/
结果为:/a。输入:
dirname a
结果为 . (点)。输入:
dirname a/b
结果为路径名 a。
命令 dirname 和 basename 通常在 shell 内部命令替换使用,以指定一个与指定输入文件名略有差异的输出文件名。
退出状态
此命令返回以下退出值:
0 成功完成
>0 发生错误。
示例
要构造和另一文件位于相同目录的一个文件名,请输入:
AOUTFILE=`dirname $TEXTFILE`/a.out
这将设置 shell 变量 AOUTFILE 作为文件 a.out 的名称,它与 TEXTFILE 位于同一目录。如果 TEXTFILE 是 /home/fran/prog.c,则 dirname $TEXTFILE 的值成了 /home/fran,且 AOUTFILE 变成了 /home/fran/a.out。
以上是AIX上dirname的man帮助,难道以前的这段代码本身就是一个不可到达的?也就是说dirname的输出不可能是空?
dirname 命令的更多相关文章
- basename与dirname命令解析【转】
本文转载自:http://blog.csdn.net/choice_jj/article/details/8766335 basename命令 语法:basename string [suffix] ...
- dirname命令和basename命令
dirname返回文件所在目录路径,而basename则相反,去掉路径返回最后的文件名. direname: 用途 从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的 ...
- dirname命令详解
基础命令学习目录首页 原文链接:https://blog.csdn.net/xiaofei125145/article/details/50620281 示例一 来自手册页的例子 $ dirname ...
- dirname和shell常用命令
$ cd `dirname $0` 和PWD%} 显示当前目录名称${#var} 替换为变量字符个数特殊变量$ 当前SHELL的PID? 前一个命令的退出状态! 后台执行的上 ...
- cd命令
[cd] 切换目录 cd===>change directory 命令功能 : 切换目录到dirname 命令实例: 实例1:切换到跟目录下 命令: cd / 输出: ...
- linux运维中的命令梳理(二)
回想起来,从事linux运维工作已近5年之久了,日常工作中会用到很多常规命令,之前简单罗列了一些命令:http://www.cnblogs.com/kevingrace/p/5985486.html今 ...
- grep命令实战
显示/etc/rc.d/rc.sysinit中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行 grep "^#[[:space:]]\+.\+" /etc/rc ...
- Linux中的简单命令
history:打印你输过的命令 1.用户在shell中输入的命令会自动保存到内存缓冲区 2.在退出shell的时候,内存中的数据会刷新到磁盘文件:~/.bash_history ...
- shell命令实战详解
1.解析路径获取文件名和目录名. 获取文件名 #awk解法:用“/”做分隔符,然后打印出最后的那一部分. resFile=`echo /tmp/csdn/zhengyi/test/adb.l ...
随机推荐
- Netty实现高性能RPC服务器优化篇之消息序列化
在本人写的前一篇文章中,谈及有关如何利用Netty开发实现,高性能RPC服务器的一些设计思路.设计原理,以及具体的实现方案(具体参见:谈谈如何使用Netty开发实现高性能的RPC服务器).在文章的最后 ...
- 2016年我们重新思考移动互联网创业的风险, 微信还是APP?
感觉这两年前端开发又火起来了,很多做内容创业和做微电商创业的人,往往都选择了运营微信号.对于做纯技术开发的人来说,一般是看不上微信号的,感觉没什么技术含量,或者说没什么技术壁垒.也有另一批人观点相反的 ...
- 2000条你应知的WPF小姿势 基础篇<22-27 WPF生命周期, 基础类等>
端午长假在家陪着女朋友, 幸福感满满,生活对于一只饱经忧患的程序猿来说也是非常重要的,也就暂时没有更新博客.休假结束,回归奋斗的日子了,开始继续更新WPF系列. 在正文开始之前需要介绍一个人:Sean ...
- CSharpGL(22)实现顺序无关的半透明渲染(Order-Independent-Transparency)
+BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(22)实现顺序无关的半透明渲染(Order-Independent-Transparency) 在 GL.Enable(GL_BLEND ...
- CSharpGL(10)两个纹理叠加
CSharpGL(10)两个纹理叠加 本文很简单,只说明如何用shader实现叠加两个纹理的效果. 另外,最近CSharpGL对渲染框架做了修改,清理一些别扭的内容(DoRender()前后的事件都去 ...
- 有意思的记录-Java
1.文件读取 项目外的绝对路径或相对路径文件读取 String path = "/xx/xx.txt"; BufferedReader reader = new BufferedR ...
- Android点滴
1,View中getWidth(),getLayoutParams.width,getMeasureedWidth()的区别 2,setCompoundDrawables和setCompoundDra ...
- TODO:Github的使用技巧之同步代码
TODO:Github的使用技巧之同步代码 GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub. GitHub 于 2008 年 ...
- VS2015企业版本(安装包+key)+ .NET Reflector 9.0
Reflector9.0系下载:https://yunpan.cn/cMQj9zWbffSqy 访问密码 55eb VS2015中文企业版: http://pan.baidu.com/s/1eRIo ...
- Eclipse中文语言包安装和设置中文Doc
1.安装中文语言包 Eclipse所有的扩展功能都是以插件的形式添加上去的,安装插件时有多种形式,下面是比较常用的两种: 直接将插件中的文件复制到Eclipse对于的目录中.优点是安装时很方便,缺点是 ...