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/bashrc
wie einefor
Schleife verwendet wird/etc/profile.d/*.sh
. Wenn Sie vertrauen, kann der Inhaltlib/
auf einenfor i in lib/*.sh; do . "$i"; done