Python スクリプトでは、if __name__ == '__main__':という記述をしばしば見かけます。この if 段落内のコードは、スクリプトを直接起動した場合、実行される他のスクリプトから import された場合は、実行されないという動作をします。 これによって、スクリプトの単体試験容易性を確保できる (単体試験用スクリプトから試験対象のスクリプトを import して関数単位の試験実施ができる) というメリットがありそうです。ぜひ、シェルスクリプトにもこの記法が欲しいですね。 bash ではスクリプトファイルのコールスタックが BASH_SOURCE 配列に格納されるので、これの配列長を見ることでコンテキストの判定をしてみます。 すなわち、BASH_SOURCE の配列長が 1 であれば、実行中のコードの記述されたスクリプトが直接起動されたと判断できそうです。 というわけ