1. ホーム
  2. bash

[解決済み] 他のスクリプトをどのように取り込むのがベストか?

2022-03-26 14:01:30

質問

通常、スクリプトを含めるには "source" を使用します。

などです。

main.sh:

#!/bin/bash

source incl.sh

echo "The main script"

incl.shです。

echo "The included script"

"./main.sh"を実行したときの出力は、以下のとおりです。

The included script
The main script

... ここで、別の場所からこのシェルスクリプトを実行しようとすると、パス内にない限り、インクルードを見つけることができません。

特に、スクリプトをポータブルにする必要がある場合、スクリプトがインクルードスクリプトを見つけられるようにする良い方法は何でしょうか?

どのように解決するのですか?

私は、自分のスクリプトをすべて相対的なものにする傾向があります。 そうすれば、dirnameを使うことができます。

#!/bin/sh

my_dir="$(dirname "$0")"

"$my_dir/other_script.sh"