다음 폴더 구조를 포함하는 작은 프로그램이 있습니다.
- main.sh
- lib/
- clean.sh
- get.sh
- index.sh
- test.sh
각 파일에는에서 사용하는 단일 기능이 포함되어 있습니다 main.sh
.
main.sh
:
source lib/*
get_products
clean_products
make_index
test_index
위의 첫 두 기능은 작동하지만 두 번째 기능은 작동하지 않습니다.
그러나 내가 다음 source lib/*
과 같이 바꾸면 :
source lib/get.sh
source lib/clean.sh
source lib/index.sh
source lib/test.sh
모든 것이 예상대로 작동합니다.
왜 source lib/*
예상대로 작동하지 않는지 아는 사람이 있습니까?
/etc/bashrc
사용for
하여 처리 하는 방법을 살펴보십시오/etc/profile.d/*.sh
. 내용을 신뢰하면 내용을lib/
한 줄짜리로 줄일 수 있습니다.for i in lib/*.sh; do . "$i"; done