Bashスクリプトでスクリプトのパスを取得する方法


  1. $0を使用する方法: Bashスクリプトの$0は、実行中のスクリプトのファイル名を表します。この変数を使用して、スクリプトのパスを取得できます。
#!/bin/bash
script_path=$(dirname "$0")
echo "スクリプトのパス: $script_path"

上記のコードでは、$0dirname関数に渡してスクリプトのディレクトリパスを取得し、変数script_pathに代入しています。その後、echoコマンドを使用してパスを表示しています。

  1. BASH_SOURCEを使用する方法: もう一つの方法は、BASH_SOURCE変数を使用する方法です。BASH_SOURCEは、現在のスクリプトが起動された際のソースファイルのパスを保持します。
#!/bin/bash
script_path="${BASH_SOURCE[0]}"
echo "スクリプトのパス: $script_path"

上記のコードでは、BASH_SOURCE[0]を使用してスクリプトのパスを取得し、変数script_pathに代入しています。その後、echoコマンドを使用してパスを表示しています。

いずれの方法を使用しても、Bashスクリプトのパスを取得することができます。これにより、スクリプトが実行されている場所や、必要に応じて他のファイルへの相対パスを計算することができます。

以上の方法を使って、Bashスクリプトでスクリプトのパスを取得する方法を説明しました。これにより、スクリプトのパスを取得して利用する際に役立つでしょう。