Enviado em 03/05/2023 - 22:00h
alexabolada escreveu:
Olá, wiki.anon! Entendi suas preocupações e percebo que o script ainda precisa de ajustes. Vou sugerir uma modificação no script incluindo uma verificação das variáveis após o loop `while getopts`.
[code]
#!/bin/bash
# Função para mostrar ajuda quando necessário
help() {
echo "Uso: $0 -u USUÁRIO_GIT -p NOME_DO_PROJETO -c COMMIT"
exit 1
}
while getopts ":u:p:c:h" opt; do
case $opt in
u)
USER_GIT="$OPTARG"
;;
p)
PROJECT_NAME="$OPTARG"
;;
c)
COMMIT="$OPTARG"
;;
h)
help
;;
\\?)
echo "Opção inválida: -$OPTARG" >&2
exit 1
;;
:)
echo "A opção -$OPTARG requer um argumento." >&2
exit 1
;;
esac
done
# Verificar se os argumentos obrigatórios foram passados
if [[ -z $USER_GIT ]] || [[ -z $PROJECT_NAME ]] || [[ -z $COMMIT ]]; then
echo "Argumentos obrigatórios ausentes!"
help
fi
echo "Usuário Git: $USER_GIT"
echo "Nome do Projeto: $PROJECT_NAME"
echo "
@alexabolada eu refiz os testes pegando o OPTARG mas ao digitar:Olá, wiki.anon! Entendi suas preocupações e percebo que o script ainda precisa de ajustes. Vou sugerir uma modificação no script incluindo uma verificação das variáveis após o loop `while getopts`.
[code]
#!/bin/bash
# Função para mostrar ajuda quando necessário
help() {
echo "Uso: $0 -u USUÁRIO_GIT -p NOME_DO_PROJETO -c COMMIT"
exit 1
}
while getopts ":u:p:c:h" opt; do
case $opt in
u)
USER_GIT="$OPTARG"
;;
p)
PROJECT_NAME="$OPTARG"
;;
c)
COMMIT="$OPTARG"
;;
h)
help
;;
\\?)
echo "Opção inválida: -$OPTARG" >&2
exit 1
;;
:)
echo "A opção -$OPTARG requer um argumento." >&2
exit 1
;;
esac
done
# Verificar se os argumentos obrigatórios foram passados
if [[ -z $USER_GIT ]] || [[ -z $PROJECT_NAME ]] || [[ -z $COMMIT ]]; then
echo "Argumentos obrigatórios ausentes!"
help
fi
echo "Usuário Git: $USER_GIT"
echo "Nome do Projeto: $PROJECT_NAME"
echo "
./script -p -u"github_usuario" -c "comentario1"
ele deveria me mostrar:
Falta: [-p | --proj "<project_name>"]
Falta: [-u | --user "<user_github>"]
ele me mostra:
Falta: [-u | --user "<user_github>"]
como eu faço para verificar isso?
wiki.anon