zoukankan      html  css  js  c++  java
  • linux 下 `dirname $0`

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

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



    在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为他返回当前路径的"."。
    这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。
    在/home/admin/test/下新建test.sh内容如下:

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

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

    1. sh test/test.sh

    运行结果:

    1. /home/admin/test

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

  • 相关阅读:
    设计模式之模板方法
    UML中常见关系详解(泛化、实现、依赖、关联、组合、聚合)
    JAVA并行框架学习之ForkJoin
    生产环境上shell的解读
    设计模式之中介者模式
    设计模式之策略模式
    设计模式之状态模式
    深入理解动态代理
    深入理解Java虚拟机
    深入理解Java虚拟机
  • 原文地址:https://www.cnblogs.com/theseven/p/4932461.html
Copyright © 2011-2022 走看看