#dirname介绍

当对文件使用dirname时,返回文件的上级目录,输出是否是绝对路径取决于输入的文件名是绝对路径

如果对目录使用,则返回上级目录

basename命令与dirname相反,读取文件名或最后一级目录名

#dirname的用法

dirname命令可以取给定路径的目录部分(strip non-directory suffix from file name)。这个命令很少直接在shell命令行中使用,我一般把它用在shell脚本中,用于取得脚本文件所在目录,然后将当前目录切换过去。

cd `dirname $0`
如果想获取脚本文件的所在的绝对路径,则可以

cd `dirname $0`
path=`pwd`

#截取路径的其他做法

path=/home/sakura/test.sh
则{path%/*.*}=/home/sakura

其中%表示从path末尾开始匹配,将最短匹配部分删除,其他类似用法如下

{path%%xxx} 从尾开始,最长匹配删除

{path#xxx}  从头开始,最短匹配删除

{path##xxx} 从头开始 最长匹配删除

例如{path##/*/}=test.sh

ps:  *在这里是通配符,表示任意字符或字符串,不是正则里的*

转载于:https://www.cnblogs.com/lshao/p/10217759.html

dirname,basename的用法与用途相关推荐

  1. Linux C中的basename函数用法示例

    函数原型使用man 3 basename可以查看到. 从中可以看出,这个函数和dirname函数联系非常紧密. 下面是相关的源码示例 //gcc -g basename_demo.c -o basen ...

  2. 函数指针的用法以及用途详解

    在C++中,指针是一个核心的部分,常规的指针用法作者已经在另外一篇文章中有过详细介绍,这篇文章主要是针对函数指针进行讨论. 首先我们先来认识一下函数指针的概念,我们平时在写函数的时候,调用函数时总是以 ...

  3. basename函数 linux,Linux C中的basename函数用法示例

    函数原型使用man 3 basename可以查看到. 从中可以看出,这个函数和dirname函数联系非常紧密. 下面是相关的源码示例 //gcc -g basename_demo.c -o basen ...

  4. ob_get_contents();basename;file_get_contents用法

    ob_get_contents(); ob_end_clean(); ob_start() 使用ob_start()把输出那同输出到缓冲区,而不是到浏览器. 然后用ob_get_contents得到缓 ...

  5. Placement new的用法及用途

    什么是placement new? 所谓placement new就是在用户指定的内存位置上构建新的对象,这个构建过程不需要额外分配内存,只需要调用对象的构造函数即可. 举例来说: class foo ...

  6. placement new的标准用法及用途

    什么是placement new? 所谓placement new就是在用户指定的内存位置上构建新的对象,这个构建过程不需要额外分配内存,只需要调用对象的构造函数即可. 举例来说: class foo ...

  7. Placement new的用法及用途【转】

    什么是placement new? 所谓placement new就是在用户指定的内存位置上构建新的对象,这个构建过程不需要额外分配内存,只需要调用对象的构造函数即可. 举例来说: 1 class f ...

  8. linux c basename dirname函数 从路径得到 文件名 目录名

    函数定义: // /usr/include/libgen.h extern char *__xpg_basename (char *__path) __THROW; #define basename ...

  9. dirname和basename命令

    dirname返回文件所在目录路径,而basename则相反,去掉路径返回最后的文件名. dirname指令 1.功能:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目 ...

最新文章

  1. 浅谈MySQL中utf8和utf8mb4的区别
  2. 基于 EntityFramework 的数据库主从读写分离架构(2)- 改进配置和添加事务支持...
  3. 奥密克戎新毒株XE出现!传播速度快10%
  4. python 常见内置函数setattr、getattr、delattr、setitem、getitem、delitem
  5. Linux(基础命令和三剑客)
  6. java 从数据库取值_java 连接数据库取值问题
  7. leetcode15. 三数之和(三指针)
  8. 最新全国暴雨强度公式2019_2019-2020最新全国高中排名
  9. Struts2中的类型转换
  10. 2021必看!java电子书合集,值得收藏!
  11. 聊一聊Android的第三方开发组件
  12. 《代码整洁之道》--读书笔记
  13. QQ邮箱收不到GitHub验证邮件
  14. 【vue+bootstrap】音乐聚合搜索引擎实现(music-box)
  15. unity新手小球走迷宫小游戏
  16. 浪潮存储加速国产替代
  17. curl ip.sb查询公网ip
  18. oracle 全文检索实践
  19. 短信java_Java发送手机短信(附代码和解析,亲测有效,简便易操作)
  20. 自动抠图,一个细致都透明头发丝都能抠出来的开源项目

热门文章

  1. 最简单红米手机如何没root激活XPOSED框架
  2. DOM中对表格的操作
  3. 【tools第3期】VsCode根据模板生成代码
  4. Swift多线程:GCD进阶,单例、信号量、任务组
  5. 1090. Highest Price in Supply Chain (25) dfs
  6. Android JNI层确保只有一个进程的一个实现
  7. HTML标签的分类与特点
  8. 关于安卓listview获得item中的控件问题
  9. [Xilinx]Xilinx ISE14.2中调用文本编辑器NotePad++设置方法
  10. 局域网远控软件DameWareNT6500