Enviado em 25/04/2023 - 23:18h
$ bash args_bash.sh -help
args_bash.sh: opção inválida -- “e”
args_bash.sh: opção inválida -- “l”
$ bash args_bash.sh -uwiki -pprojeto1 -c"projeto teste"
args_bash.sh: opção inválida -- “w”
args_bash.sh: opção inválida -- “i”
args_bash.sh: opção inválida -- “k”
args_bash.sh: opção inválida -- “i”
args_bash.sh: opção inválida -- “r”
args_bash.sh: opção inválida -- “o”
args_bash.sh: opção inválida -- “j”
args_bash.sh: opção inválida -- “e”
args_bash.sh: opção inválida -- “t”
args_bash.sh: opção inválida -- “o”
args_bash.sh: opção inválida -- “1”
#!/bin/bash
args=$(getopt -o upc:,h -l user,proj,commit:,help -n "${0}" -- "$@") || exit
eval set -- "$args"
function help() {
echo -e "\e[1;31mUsage\033[1;32m: \033[1;31m${0##*/} \033[1;34m[ -u \"your_user_git\" | --user ]\n\n[ -p \"project_name\" | --proj ]\n\n[ -c \"comemt alter project\" | --commit ]\n\n[ -h | --help]\n\n"
}
while [[ $1 != "--" ]]; do
case "${1}" in
-h | --help)
help
shift 1
;;
-u | --user)
user="$2"
shift 2
;;
-p | --proj)
projeto="$3"
shift 3
;;
-c | --commit)
comentario="$4"
shift 4
;;
# shouldn't happen unless we're missing a case
*)
echo "unexpected option: ${1}" >&2
exit 1
;;
esac
done
shift # skip '--'
echo "$user $projeto $comentario"
echo "remaining non-option arguments: $@"