Bash スクリプトファイル名を取得する
-
Bash スクリプトのファイル名を取得するために
basename
コマンドを使用する - Bash スクリプトのファイル名を取得するためにパラメータ展開を使用する
-
BASH_SOURCE
変数を使用して 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 シェル環境でのみ機能します。
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