親スクリプトからすでにインポートされたファイルをインポートするオプションはありますか?

親スクリプトからすでにインポートされたファイルをインポートするオプションはありますか?

関数を含むファイルがあり、foo次のフローがある場合、スクリプト
Aはをsources含めてfoo呼び出しますfoo
次に、foo2番目のスクリプトも同じファイルをソースとして使用します。
2番目のスクリプトで条件付きでファイルをインポートする方法があるかどうか疑問に思います。それとも影響がなく、このアプローチは一般的ですか?

ベストアンサー1

スクリプトAが別のものを実行している場合、プログラムは関数定義を継承しません。 Bashには、環境を介して関数をエクスポートするためのあいまいな機能があります。これは実装にバグが現れるまでほとんど知られていません。必要に応じてエクスポートされた関数を使用できますが、export -f環境に存在する関数に依存するのではなく、使用したい関数のみを定義する方が良いでしょう。

おすすめ記事