シェル スクリプトが 2 つありa.sh
ますb.sh
。
b.sh
シェル スクリプト内から呼び出すにはどうすればよいでしょうかa.sh
?
ベストアンサー1
これを行うには、いくつかの方法があります。
他のスクリプトを実行可能にするには
chmod a+x /path/to/file
(ネイサン・リリエンタールのコメント#!/bin/bash
の先頭に行 (shebang と呼ばれる)を追加し、ファイルがあるパスを$PATH
環境変数に追加します。その後、通常のコマンドとして呼び出すことができます。source
または、次のように、コマンド( のエイリアス.
)を使用して呼び出します。source /path/to/script
または、
bash
次のようにコマンドを使用して実行します。/bin/bash /path/to/script
1 番目と 3 番目のアプローチでは、スクリプトを別のプロセスとして実行するため、他のスクリプト内の変数と関数にはアクセスできません。2
番目のアプローチでは、最初のスクリプトのプロセスでスクリプトを実行し、他のスクリプトから変数と関数を取得します (そのため、呼び出し元のスクリプトから使用できます)。もちろん、変数を設定するだけでなく、他のスクリプト内のすべてのコマンドを実行します。
2 番目の方法では、exit
2 番目のスクリプトで を使用している場合、最初のスクリプトも終了します。これは、1 番目と 3 番目の方法では発生しません。