msoliver
(usa Debian)
Enviado em 13/08/2017 - 17:24h
correalinux escreveu:
msoliver escreveu:
correalinux escreveu:
Olá.
Estou com o seguinte script:
OBS: Ele está cortado pois é muito grande
#!/bin/bash
max() {
clear
echo
echo -------------------------------------------------------------------------------
echo "Escolha uma das opções:"
echo
echo "1. Pós Instalação --> para instalar alguns programas em seu sistema!"
echo "2. Limpar Sistema --> executar algumas tarefas de limpeza!"
echo "3. Atualizar sistema --> atualizar sistema e seus softwares!"
echo "4. Sair"
echo
echo -n ">"
read opcao
case $opcao in
1) pos ;;
2) clean ;;
3) up ;;
4) sair ;;
esac
}
pos() {
[...]
}
clean() {
clear
echo "Preaparando para Limpar..."
echo -------------------------------------------------------------------------------
[...]
}
up() {
clear
echo
echo "Preparando para atualizar..."
echo -------------------------------------------------------------------------------
[...]
}
sair() {
clear
exit
}
max
Aí quero que quando ele terminar de executar alguma das opções (a que o usuário escolher) ele volte para o inicio de novo.
Boa tarde.
Ao termino de cada função, coloque o "max".
Exemplo:
#!/bin/bash
max() {
clear
echo
echo -------------------------------------------------------------------------------
echo "Escolha uma das opções:"
echo
echo "1. Pós Instalação --> para instalar alguns programas em seu sistema!"
echo "2. Limpar Sistema --> executar algumas tarefas de limpeza!"
echo "3. Atualizar sistema --> atualizar sistema e seus softwares!"
echo "4. Sair"
echo
echo -n ">"
read opcao
case $opcao in
1) pos ;;
2) clean ;;
3) up ;;
4) sair ;;
esac
}
pos() {
[...]
max
}
clean() {
clear
echo "Preaparando para Limpar..."
echo -------------------------------------------------------------------------------
[...]
max
}
up() {
clear
echo
echo "Preparando para atualizar..."
echo -------------------------------------------------------------------------------
[...]
max
}
sair() {
clear
exit
}
max
Att.:
Marcelo Oliver
Muito obrigado cara funcionou muito bem.
VLW...
LMC
Por nada Correa.
Agradeço a avaliação. :)
Quanto ao seu outro problema:
#!/bin/bash
if [ xx -eq yy ]; then
não fazer nada
else
echo sucess
fi
É só inverter a condição:
#!/bin/bash
if [ xx -ne yy ]; then
echo sucess
fi
Obs: Se os dados forem numéricos, use da forma acima, caso sejam "strings", faça da forma que vc apresentou.
Uma outra opção, é usar o condicional da forma reduzida :
Exemplo:
Dados numéricos:
((5==5)) && echo "é igual" || echo "não é igual"
((5==5)) || echo "não é igual"
Dados não numéricos:
STRING01="AAA"
STRING02="BBB"
[ $STRING01 == $STRING02 ] && echo "é igual" || echo "não é igual"
[ $STRING01 == $STRING02 ] || echo "não é igual"
Att.:
Marcelo Oliver