Bashで、実行中のシェルスクリプトのディレクトリを取得する
from 20240707
Bashで、実行中のシェルスクリプトのディレクトリを取得する
code:plain
#!/usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE0}" )" &> /dev/null && pwd )
以下のようなディレクトリ構成を想定
code:plain
./lib
./lib/abc.sh
./script.sh
abc.shの中身はこれ
カレントディレクトリが.の状態で./lib/abc.shを呼び出すと、呼び出し元のディレクトリが表示されてしまう
code:abc.sh
pwd
How do I get the directory where a Bash script is located from within the script itself?