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 ...
随机推荐
- Pramp mock interview (4th practice): Matrix Spiral Print
March 16, 2016 Problem statement:Given a 2D array (matrix) named M, print all items of M in a spiral ...
- linux常用命令(3)mkdir命令
mkdir命令1 命令格式:mkdir [选项]目录名2 命令功能:通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录.要创建文件夹或目录的用户必须对所创 ...
- (转)利用libcurl和国内著名的两个物联网云端通讯的例程, ubuntu和openwrt下调试成功(四)
1. libcurl 的参考文档如下 CURLOPT_HEADERFUNCTION Pass a pointer to a function that matches the following pr ...
- Direct3D Draw函数 异步调用原理解析
概述 在D3D10中,一个基本的渲染流程可分为以下步骤: 清理帧缓存: 执行若干次的绘制: 通过Device API创建所需Buffer: 通过Map/Unmap填充数据到Buffer中: 将Buff ...
- 详解微信开发者文档——5 access_token管理
写在前面的话:前几篇博客详细讲解了如何获取用户发送的消息并进行回复,这里的回复是一种被动的回复,而被动回复的方式便是通过echo返回信息给微信服务器的POST请求,因此,其实我们并没有算的上调用了微信 ...
- 页面中调用系统常用的对话框需要用到的classid
■打开■ <input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=打开> < ...
- Lind.DDD.Plugins~插件模式的集成
回到目录 对于Lind.DDD这个敏捷框架来说,插件也是其中的一个亮点,所有被认为是插件(Plugins)的模块都会继承自IPlugins这个标示接口,它在程序启动时会找到所有插件,并通过autofa ...
- jQuery-template.js学习
花了点时间,看了下jQuery-template.js,不多废话,先上结构 jQuery.each({..},function(){}) jQuery.fn.extend({..}) jQuery.e ...
- 多线程同步工具——volatile变量
关于volatile,找了一堆资料看,看完后想找一个方法去做测试,测了很久,感觉跟没有一样. 这本书<深入理解Java内存模型>,对volatile描述中有这样一个比喻的说法,如下代码所示 ...
- 【干货】”首个“ .NET Core 验证码组件
前言 众所周知,Dotnet Core目前没有图形API,以前的System.Drawing程序集并没有包含在Dotnet Core 1.0环境中.不过在dotnet core labs项目里可以见到 ...