通常、スクリプトを組み込む方法は「source」を使用することです。
例えば:
メイン.sh:
#!/bin/bash
source incl.sh
echo "The main script"
含む:
echo "The included script"
「./main.sh」を実行した場合の出力は次のようになります。
The included script
The main script
...これで、別の場所からそのシェル スクリプトを実行しようとすると、パス内にない限り include を見つけることができません。
特にスクリプトを移植可能にする必要がある場合、スクリプトがインクルード スクリプトを確実に見つけられるようにするための良い方法は何ですか?
ベストアンサー1
私はスクリプトを互いに相対的に作成する傾向があります。その場合、dirname を使用できます。
#!/bin/sh
my_dir="$(dirname "$0")"
"$my_dir/other_script.sh"