J'ai un petit programme qui contient la structure de dossiers suivante:
- main.sh
- lib/
- clean.sh
- get.sh
- index.sh
- test.sh
Chaque fichier contient une seule fonction que j'utilise dans main.sh
.
main.sh
:
source lib/*
get_products
clean_products
make_index
test_index
Dans ce qui précède, les deux premières fonctions fonctionnent mais pas les deux autres.
Pourtant, si je remplace source lib/*
par:
source lib/get.sh
source lib/clean.sh
source lib/index.sh
source lib/test.sh
Tout fonctionne comme prévu.
Quelqu'un sait pourquoi source lib/*
ne fonctionne pas comme prévu?
/etc/bashrc
comment il utilise unefor
boucle pour traiter/etc/profile.d/*.sh
. Si vous faites confiance, son contenulib/
peut être réduit à une ligne:for i in lib/*.sh; do . "$i"; done