在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为它返回当前路径的"."。

这个命令写在脚本文件里才有作用,它返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。

在/home/ubuntu/下,新建test.sh内容如下:
  #!/bin/bash
  #
  cd `dirname $0`
  echo `pwd`

然后返回到/home/ubuntu/执行
  sh test.sh 运行结果:
  /home/ubuntu
这样可以知道一些和脚本一起部署的文件的位置,只要知道相对位置就可以根据这个目录来定位,而不用关心绝对位置,从而提高脚本的可移植性。

转载于:https://www.cnblogs.com/wowchky/archive/2012/10/18/2729354.html

cd `dirname $0` 的特殊用法相关推荐

  1. 【shell】dirname $0和readlink用法

    转自:shell的dirname $0和readlink用法 获取当前脚本路径 path.sh #!/bin/bash path=$(cd `dirname $0`;pwd) echo $path p ...

  2. Linux的readlink与dirname $0和readlink用法以及sed的使用,Linux系统盘和数据盘的查看等整理汇总

    Linux与Shell相关命令整理 dirname $0和readlink用法 获取当前脚本路径 path.sh dirname $0 只是获取的当前脚本的相对路径. #!/bin/bash path ...

  3. C语言 (条件编译#ifdef、#ifndef) (#if 常量,#if 1,#if 0)的用法

    当屏蔽掉大块代码时,使用"#if 0"比使用"/**/"要好,因为用"/**/"做大段的注释要防止被注释掉的代码中有嵌套的"/** ...

  4. C#6.0中$的用法

    C#6.0中$的用法 这里注意只有VS2015及以上VS版本才支持这样写! 如果使用vs2015以下版本就去用string.format()吧! //C#6.0中$的用法:是为了替代string.fo ...

  5. $(cd $(dirname $0),pwd) 解析

    xx.sh 文件内容如下: #!/bin/bash BIN_FOLDER=$(cd "$(dirname "$0")";pwd) echo $BIN_FOLDE ...

  6. 深度 Windows Vista Ultimate GDH 精简CD 1.0 简体中文版

    深度 Windows Vista Ultimate GDH 精简CD 1.0 简体中文版 保留声驱和网驱 保留IE7 保留AERO特效 保留了自带防火墙(vista的防火墙还是不错的,可以不需要第三方 ...

  7. Shell之$(cd $(dirname $0); pwd)命令详解

    path = $(cd $(dirname $0); pwd)解析: 1.取当前运行脚本的所在路径: $0 2.取当前脚本所在路径的父目录: dirname 3.取返回的父目录的值: $(dirnam ...

  8. DataFormatString={0:格式字符串} 用法

    具体用法: DataFormatString="{0:格式字符串}" 在DataFormatString 中的 {0} 表示数据本身,而在冒号后面的格式字符串代表所们希望数据显示的 ...

  9. Ubuntu 12.04安装下载工具 UGet 1.8.0 及 aria2用法

    1. aria2用法 aria2是我今天新学到的一个命令行的下载工具,虽然还没研究透,但是他绝对比wget更好. aria2 是 Linux 下一个不错的高速下载工具.由于它具有分段下载引擎,所以支持 ...

  10. C语言——0的各种用法

    神奇的零 最近我在继续学习C语言,想分享一下C语言中0的用法. C语言中有各种关于0的用法,比如 0  '0'  '\0' NULL "0",了解了它们之后,自己忽然感受到程序的神 ...

最新文章

  1. android 手机 吉字节,Java 数据类型05Android开发小典
  2. 联想电脑的一键换机软件——乐换机
  3. 金额输入框校验和自动校正、支持指定任意位数小数decimal、支持只能输入整数、支持是否允许输入负数等功能
  4. php图片滑动的属性,使用css怎么实现图片的滑动效果?(示例)
  5. 以太坊虚拟机 EVM(3)交易流(FISCO BCOS为例)
  6. 异常处理与调试 - 零基础入门学习Delphi50
  7. Axure8.0 装汉化包
  8. rufus设置linux分区,rufus使用教程【处理方案】
  9. 论文中设置章节自动编号
  10. 如何成为优秀的网络安全工程师(转载)
  11. 实验中应该遵循的几个原则
  12. 基于32feet.net对Broadcom(Widcomm)蓝牙开发
  13. 专升本英语——应试题型突破——阅读理解——阅读理解概述【学习笔记】
  14. Opencv4Android的OpenCL的测试,使用Opencv的ocl封装库
  15. 第五人格亚服服务器不稳定,【关于第五人格网络问题的部分原因及解决方法】...
  16. git 强制切换分支
  17. java,mqtt-client开发创建客户端
  18. 网站服务器如何防护攻击?网站服务器被挂马如何检测
  19. java long 空_long类型判断是否为空
  20. 如何使用普通的单反相机拍摄VR全景照片呢?

热门文章

  1. python之路_自定义forms组件
  2. 科大讯飞 文字转语音
  3. Phpstorm-php在线手册配置
  4. vue个人学习(三)----组件
  5. 实例篇——springboot自定义拦截器
  6. ElasticSearch经验小结 (Based on 5.x)
  7. 【筛法】第十万零二个素数
  8. cloudstack基础知识
  9. 计蒜客 16876 韩梅梅的抽象画
  10. django-xadmin定制之分页显示数量