2008年01月18日
絶対パス
$ cat abspath.sh #!/bin/sh echo $(cd $(dirname $0) && pwd)/$(basename $0)
$ ./pwd.sh /home/user/hansode/pwd.sh $ ../hansode/pwd.sh /home/user/hansode/pwd.sh $ /home/user/hansode/../hansode/pwd.sh /home/user/hansode/pwd.sh
使い所
「$(cd $(dirname $0) && pwd)」をウマク利用してファイルをインクルード。
$ cat abspath.sh
#!/bin/sh
absdir=$(cd $(dirname $0) && pwd)
. ${absdir}/../etc/common
command foo bar ...
プロジェクトディレクトリごと移動してもスクリプトは動くようになる。どのディレクトリに配置しても良い訳だ。自分はこれを良く使う。