매개변수에 따라 스크립트의 기능을 변경하는 가장 좋은 방법은 무엇입니까?
나는 이것을 할 수 있다는 것을 의미합니다 :
if [ "$param" == "1" ]; then
# do code here
else
# do compeletely different code here
fi
하지만 코드가 임의로 커지면 어떻게 될까요?
나는 객체 지향 접근 방식을 기대하지 않고 스크립트를 깨끗하게 유지하는 좋은 방법을 기대합니다.
답변1
이것을 "포크"가 아닌 "브랜치"라고 합니다.
스크립트를 함수로 나누거나 기본 스크립트에서 호출되는 완전히 독립적인 아래 첨자를 작성할 수 있습니다.
사용 기능:
handle_param_1 () {
# do stuff for param == 1
}
handle_other_cases () {
# do other stuff
}
# the above functions could be written in separate files
# that you source to import their definitions
case "$param" in
1) handle_param_1 ;;
*) handle_other_cases ;;
esac
별도의 스크립트를 사용하십시오.
case "$param" in
1) somewhere/handle_param_1 ;;
*) somewhere/handle_other_cases ;;
esac