shellスクリプトで絶対パスを取得する方法[bash]

概要

shellを実行した際に、スクリプトファイルが存在する絶対パスを取得したいときがある。
スクリプトが存在するディレクトリの外部から実行してもカレントディレクトリを取得できる方法を紹介する。

コード

SCRIPT_DIR=$(cd $(dirname $0); pwd)

説明

実行例

ソースコード test.sh

#!/bin/bash
SCRIPT_DIR=$(cd $(dirname $0); pwd)

echo $SCRIPT_DIR

実行結果

$ bash test.sh
/mnt/c
$ mkdir hoge
$ cd hoge/
$ bash ../test.sh
/mnt/c