which
é a ferramenta errada. getopts
é geralmente também é incorporado :
Since
getopts
affects the current shell execution environment, it is generally provided as a shell regular built-in.
~ for sh in dash ksh bash zsh; do "$sh" -c 'printf "%s in %s\n" "$(type getopts)" "$0"'; done
getopts is a shell builtin in dash
getopts is a shell builtin in ksh
getopts is a shell builtin in bash
getopts is a shell builtin in zsh
Se você estiver usando um script de shell, poderá depender com segurança de getopts
. Pode haver outros motivos para favorecer um ou outro, mas getopts
é padrão .
Veja também: Por que não usar "qual"? O que usar então?