Bashスクリプトのディレクトリを取得する方法と使用例


  1. 方法1: $0を使用する方法
    #!/bin/bash
    script_dir=$(dirname "$0")
    echo "スクリプトのディレクトリ: $script_dir"

この方法では、Bash変数$0は現在のスクリプトのパスを表します。dirnameコマンドを使って、スクリプトのパスからディレクトリ部分を抽出し、script_dir変数に格納します。

  1. 方法2: readlinkコマンドを使用する方法
    #!/bin/bash
    script_path=$(readlink -f "$0")
    script_dir=$(dirname "$script_path")
    echo "スクリプトのディレクトリ: $script_dir"

この方法では、readlink -fコマンドを使用して、$0のシンボリックリンクを解決し、絶対パスを取得します。その後、dirnameコマンドを使用してディレクトリ部分を抽出し、script_dir変数に格納します。

  1. 方法3: BASH_SOURCEを使用する方法
    #!/bin/bash
    script_path="${BASH_SOURCE[0]}"
    script_dir=$(dirname "$script_path")
    echo "スクリプトのディレクトリ: $script_dir"

この方法では、Bash配列変数BASH_SOURCEを使用して、現在のスクリプトのパスを取得します。dirnameコマンドを使ってディレクトリ部分を抽出し、script_dir変数に格納します。