Enviado em 18/08/2019 - 20:45h
Olá pessoal, saudações!
Estou precisando comparar o conteúdo de uma variável com um caractere, para validar a opção que o usuário escolher.
Meu problema está na comparação, já tentei colocar o caractere entre " " (aspas duplas), mas é como se seu valor fosse ignorado. Tentei com aspas simples e o mesmo acontece. Usando a crase até consegui, mas a função dela não é esta, e aparecem alguns erros:
Também tentei deixar apenas os caracteres, sem aspas, mas sem sucesso.
Segue o código:
Estou precisando comparar o conteúdo de uma variável com um caractere, para validar a opção que o usuário escolher.
Meu problema está na comparação, já tentei colocar o caractere entre " " (aspas duplas), mas é como se seu valor fosse ignorado. Tentei com aspas simples e o mesmo acontece. Usando a crase até consegui, mas a função dela não é esta, e aparecem alguns erros:
/home/lucas/test.sh: linha 26: [sSnN]: comando não encontrado
/home/lucas/test.sh: linha 26: [: s: esperava operador unário
Também tentei deixar apenas os caracteres, sem aspas, mas sem sucesso.
Segue o código:
echo -en "Verificando requisitos...\n"
echo -en "Arquitetura: ${arq}\n"
echo -en "Gerenciador de download aria2: "
dpkg --get-selections | grep aria2 | grep -o install
if [ ${?} == 0 ] # Se aria2c não estiver instalado (o == é só para teste)
then
echo -en "${red}Aria2 não está instalado${default}\n"
read -p "Deseja instalar? [S/n] " op
while [ ${op} != `[sSnN]` ]
do
read -p "Opção inválida, digite novamente [S/n]: " op
done
if [ ${op} == `[sS]` ]
then
echo -en "Instalando aria2c...\n"
sudo apt install aria2
if [ ${?} != 0]
then
echo -en "${red}Falha na instalação do aria2${default}\n"
exit
fi
else
echo -en "${red}Instalação abortada\n"
echo -en "${red}Requisitos não atendidos${default}\n"
exit
fi
fi