ソースキャッシュファイルの使用方法

ソースキャッシュファイルの使用方法

source特定のシェルに対してファイルを一度だけインポートする同様のbashコマンドはありますか?

たとえば、

source_cached foo.sh    # runs as normal
source_cached foo.sh    # would not load foo.sh a second time

foo.shパスはすでにインポートされているため、再インポートされません。

答え1

欲しいのは「Include Guard」です。 Jonathan LefflerのサイトでSOの例を見ることができます。https://stackoverflow.com/a/7518684/6512983

if [ -z "$B_SH_INCLUDED" ]
then
    B_SH_INCLUDED=yes
    ...rest of original contents of b.sh
fi

デフォルトでは、インクルードファイルに変数を定義しますが、変数があるかどうかを事前に確認し、すでに定義されている場合は早く返します。

関連情報