Bash 기능 작업을 위한 간단한 도움말 옵션

Bash 기능 작업을 위한 간단한 도움말 옵션

일부 코드를 조정했으며 가능한 옵션을 처리해야 합니다. 함수를 실행하거나 도움말 옵션을 사용하여 간단한 설명을 제공하세요.

activate-jet ()
{
 local  iarg=0  narg="$#"
 while (( narg > 0 )); do
   opt="$1" ; iarg=$(( iarg + 1 ))
   case $opt in
     ("-h"|"--help")  echo "TODO" ; return ;;
     (*)  break ;;
   esac
 done
}

가능하다면 호출할 때 사용자에게 이상한 동작을 일으키지 않고 더 단순화하고 싶습니다.

답변1

당신이 말했듯이 이것은 가능성이 있습니다당신은 단지 필요하나토론이므로 루핑이나 "패킹"이 필요하지 않습니다.

$ activate_jet() { 
    [[ "$#" -gt 1 ]] && echo "Invalid number of arguments" && return
    if [[ ! -z "$1" ]]; then 
      if [[ "$1" = "-h" || "$1" = "--help" ]]; then
        echo "TODO" && return
      else
        echo "Bad argument" && return
      fi
    fi 
    echo "jet activated"
  }
$ activate_jet foo bar
Invalid number of arguments
$ activate_jet foo
Bad argument
$ activate_jet -h
TODO
$ activate_jet --help
TODO
$ activate_jet
jet activated

이제 함수 이름을 변경하여 하이픈을 밑줄로 바꿨습니다. activate_jet대신 activate-jet하이픈 때문에일부 쉘과 호환되지 않을 수 있음:

결론적으로

  • 하이픈은 비표준입니다. 쉘 간 호환성을 원한다면 멀리하십시오.
  • 하이픈 대신 밑줄을 사용하세요. 밑줄은 어디에서나 허용됩니다.

관련 정보