cd `dirname $0` 的特殊用法

在命令行状态下单纯执行 $ 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/p/2729354.html