【`】,学名叫“倒引号”, 如果被“倒引号”括起来,  表示里面需要执行的是命令。
比如 `dirname $0`,  就表示需要执行   dirname $0  这个命令

【“”】 , 被双引号括起来的内容, 里面 出现  $ (美元号: 表示取变量名)  `(倒引号: 表示执行命令)   \(转义号: 表示转义),   其余的才表示字符串。
【’‘】,  被单引号括起来的内容, 里面所有的都表示串, 包括上面所说的  三个特殊字符。

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

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

$0:当前Shell程序的文件名
dirname $0,获取当前Shell程序的路径
cd `dirname $0`,进入当前Shell程序的目录

在/home/admin/test/下新建test.sh内容如下:

  1. cd `dirname $0`
  2. echo `pwd`

然后返回到/home/admin/执行

  1. sh test/test.sh

运行结果:

  1. /home/admin/test

这样就可以知道一些和脚本一起部署的文件的位置了,只要知道相对位置就可以根据这个目录来定位,而可以不用关心绝对位置。这样脚本的可移植性就提高了,扔到任何一台服务器,(如果是部署脚本)都可以执行。

linux 下 `dirname $0`相关推荐

  1. linux 下 `dirname $0` 脚本文件放置的目录

    http://www.cnblogs.com/xupeizhi/archive/2013/02/19/2917644.html linux 下 `dirname $0` 在命令行状态下单纯执行 $ c ...

  2. Linux redis安装教程,Linux 下redis5.0.0安装教程详解

    Linux redis5.0.0安装,教程如下所示: 1.从官网下载,然后传到服务器,tar -zxvf解压 2.进入redis ? 3.安装:make, (1)若提示:: gcc: Command ...

  3. linux tomcat apr安装,Linux下Tomcat8.0.44配置使用Apr的方法

    听说Apr可以提高tomcat很多的性能,配置具体如下 1.安装apr 1.5.2 [root@ecs-3c46 ]# cd /usr/local/src [root@ecs-3c46 src]# w ...

  4. 三级数据库还是linux好,08年计算机三级数据库辅导:如何修改Linux下MySQL5.0的默认连接数...

    08年计算机三级数据库辅导:如何修改Linux下MySQL5.0的默认连接数 分类:计算机等级| 更新时间:2008-08-25| 来源:教育联展网 这段时间服务器崩溃2次,一直没有找到原因,今天看到 ...

  5. Linux 下的0 1 2特殊文件描述符~

    最近在做项目的时候遇到的几个知识点,我觉得非常有意思,以前学Linux的时候也有接触到管道方面的,但是在应用中却基本没有遇到过. 还有Linux下的几个特殊的文件描述符,用这几个文件描述符可以做很多事 ...

  6. Alibaba Cloud Linux版本linux下mysql8.0安装

    Alibaba Cloud Linux版本linux下mysql安装 官网下载rpm安装包,上传至服务器 //下载地址 https://dev.mysql.com/downloads/repo/yum ...

  7. linux 下 Nginx 0.8.40的安装

      Nginx作为一个后起之秀,他的迷人之处已经让很多人都投入了他的怀抱.配置简单,实现原理简单.做一个负载平衡的再好不过了.  一.依赖的程序  1. gzip module requires zl ...

  8. linux下tomcat6.0与jdk安装详细步骤

    安装Tomcat6.0和JDK1.6 在linux系统上安装tomcat和jdk应该说是我学习linux知识的第一课了,之前只 是听说过,从没接触过,但我们公司项目都是部署在linux系统上的,那天上 ...

  9. linux下usb2.0更快,Linux平台PK:USB2.0与3.0闪存盘谁强?

    USB 2.0与3.0闪存盘区别何在? 对于存储技术来讲,USB 3.0最直接的优点就是速度快.相比USB 2.0的速度技术成熟度以及普及并没有那么广泛,在性能和应用之间,USB 3.0和USB 2. ...

  10. Linux下Redis-3.0.7版本的安装以及Redis主备的部署(一)

    一.基本工具 (1)      虚拟机两台(做好快照) CentOS 6.6   192.168.1.146 CentOS 6.7   192.168.1.147 (2)      软件包 redis ...

最新文章

  1. HttpClient 如何设置请求接口等待时间
  2. FPGA 核和FPGA Fabric的区别是什么?
  3. 020_Jedis的Set数据类型
  4. 3288 android5.1 编译,RK3288編譯 Android 5.1 固件
  5. Service Mesh 为什么从“趋势”走向“无聊”?
  6. 将Python脚本打包成可执行文件
  7. c构造函数和析构函数_C ++构造函数,析构函数能力问题和答案(第2组)
  8. vue3,对比 vue2 有什么优点?
  9. centos7+jexus5.8.3部署ASP.NET的MVC项目
  10. PyTorch系列入门到精通——autograd与逻辑回归
  11. 数据分析展现工具SmartBI
  12. JavaSE环境搭建
  13. 【STM32F429的DSP教程】第8章 DSP定点数和浮点数(重要)
  14. 计算机网络实验四协议分析心得,计算机网络原理实验_使用网络协议分析仪Wireshark...
  15. 【渝粤教育】国家开放大学2018年春季 8635-22T老年人中医体质辨识与养 参考试题
  16. Matlab高尔顿板仿真模拟实验
  17. boost电路输出电流公式_Boost电路的参数计算及仿真
  18. fyi 在邮件里是什么意思_FYI的完整形式是什么?
  19. error in opening zip file
  20. win10系统更新之后经常蓝屏解决方法分享

热门文章

  1. 传说之下计算机音乐大全,传说之下同人音乐
  2. 养成不断学习的好习惯_如何使用“小习惯”养成一致的学习习惯。
  3. SAP 生产订单/工单状态说明
  4. 二、进程管理(4.经典进程同步问题)
  5. 生成艺术or游戏?无限可能的体验#Wayfinder-探索这片土地的诗意
  6. 同一个机器 安装多个版本Chrome浏览器的方法
  7. Kafka 中的这些设计思想值得一学!
  8. Deepspeed:让大规模深度学习更快更省资源的神器
  9. 诚之和:3个月亏17亿,贝壳释放了什么信号?
  10. 【EE308FZ Lab2-2】An Amazing Android App for Bobing Game