Bash スクリプトファイル名を取得する

MD Aminul Islam 2023年1月30日
  1. Bash スクリプトのファイル名を取得するために basename コマンドを使用する
  2. Bash スクリプトのファイル名を取得するためにパラメータ展開を使用する
  3. BASH_SOURCE 変数を使用して Bash スクリプトファイル名を取得する
Bash スクリプトファイル名を取得する

この記事では、スクリプトによって独自のファイル名を取得する方法を示します。また、トピックを簡単にするために必要な例と説明が表示されます。

このタスクを実行するために利用できる多くの方法があります。しかし、これを行うための 3つの簡単な方法を見ていきます。

それらを見てみましょう。

Bash スクリプトのファイル名を取得するために basename コマンドを使用する

スクリプトのファイル名は、Bash に組み込まれているコマンドである basename コマンドを使用して取得できます。これを行うには、以下のコードに従う必要があります。

$ cat directory/ScriptName.sh
#!/bin/bash
echo "Your script name =" $(basename "$0")

スクリプトのファイル名を見つけるために、basename コマンドで $0 を使用したことがわかります。この $0 は、相対パスのファイル名を表す Bash の組み込み変数です。

コマンドを実行すると、以下の出力が表示されます。

$ directory/ScriptName.sh
Your script name = ScriptName.sh

Bash スクリプトのファイル名を取得するためにパラメータ展開を使用する

パラメータ展開を使用して同じタスクを実行することもできます。このメソッドで同じタスクを実行するには、以下のコードに従う必要があります。

$ cat directory/ScriptName.sh
#!/bin/bash
echo "Your script name = ${0##*/}"

パラメータの展開を示すために使用される記号の組み合わせ ${0##*/} を使用していることがわかります。コマンドを実行すると、以下の出力が表示されます。

$ directory/ScriptName.sh
Your script name = ScriptName.sh

BASH_SOURCE 変数を使用して Bash スクリプトファイル名を取得する

BASH_SOURCE は、ファイル名を含む Bash の組み込み環境変数です。この変数を使用してスクリプトのファイル名を見つけるには、以下のコードに従う必要があります。

$ cat directory/ScriptName.sh
#!/bin/bash
echo "Your script name =" $(basename "${BASH_SOURCE}")

コマンドを実行すると、以下の出力が表示されます。

$ directory/ScriptName.sh
Your script name = ScriptName.sh

この記事で使用されているすべてのコードは Bash で記述されていることに注意してください。Linux シェル環境でのみ機能します。

著者: MD Aminul Islam
MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn