Ich habe ein kleines Programm, das die folgende Ordnerstruktur enthält:
- main.sh
- lib/
- clean.sh
- get.sh
- index.sh
- test.sh
Jede Datei enthält eine einzelne Funktion, in der ich verwende main.sh.
main.sh::
source lib/*
get_products
clean_products
make_index
test_index
Oben funktionieren die ersten beiden Funktionen, die zweiten beiden jedoch nicht.
Wenn ich jedoch ersetze source lib/*durch:
source lib/get.sh
source lib/clean.sh
source lib/index.sh
source lib/test.sh
Alles funktioniert wie erwartet.
Weiß jemand, warum source lib/*nicht wie erwartet funktioniert?
/etc/bashrcwie eineforSchleife verwendet wird/etc/profile.d/*.sh. Wenn Sie vertrauen, kann der Inhaltlib/auf einenfor i in lib/*.sh; do . "$i"; done