recarregar / reiniciar script [RESOLVIDO]

1. recarregar / reiniciar script [RESOLVIDO]

Alex Machado Fontinelli
Pinguino

(usa Debian)

Enviado em 31/10/2019 - 03:32h

há algum comando que recarrega o script do zero? hehe?
queria isso para ele retornar ao menu principal caso o comando de erro

ls -l blablabla || reiniciar script ;

o break e return não funciona :\


  


2. Re: recarregar / reiniciar script [RESOLVIDO]

aguamole
aguamole

(usa KUbuntu)

Enviado em 31/10/2019 - 09:46h

E cade o script?

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


3. Re: recarregar / reiniciar script

Alex Machado Fontinelli
Pinguino

(usa Debian)

Enviado em 31/10/2019 - 11:30h

então não coloquei o script aqui, pois o codigo é bem grande e tem muitas opções eu vou colocar uma das opções aqui como exemplo hehe
o menu é simples usa while

while :
do
clear
cat<<EOF
******
menu
******
ls (1)
(Q)uit
******
EOF
read -n1 -s
case "$REPLAY" in
"1" ) echo "OPÇÃO 1 ls" ;
ls -la $IDL1 ;
;;
"2" ) exit 0
;;
esac
done

o que eu queria é

"1" ) echo "OPÇÃO 1 ls" ;
ls -la $IDL1 || reiniciar/voltar ao menu caso o comando de erro ;
;;



4. Re: recarregar / reiniciar script [RESOLVIDO]

Matheus
pylm

(usa Gentoo)

Enviado em 31/10/2019 - 12:12h


Escreve o código em funções e usa o menu pra chamar elas quando necessário.


5. Re: recarregar / reiniciar script [RESOLVIDO]

Alex Machado Fontinelli
Pinguino

(usa Debian)

Enviado em 31/10/2019 - 13:14h

boa tarde, teria algum exemplo? mesmo que seja simples apenas para eu me orientar


6. Re: recarregar / reiniciar script

Matheus
pylm

(usa Gentoo)

Enviado em 31/10/2019 - 14:03h

Pinguino escreveu:

boa tarde, teria algum exemplo? mesmo que seja simples apenas para eu me orientar



#!/usr/bin/env bash

# Define uma função com algo útil
# A função retorna código 1 para feitos de teste com o menu, normalmente a linha return 1 deve ser omitida e o shell retornará o código automaticamente em caso de erro

function {
echo "Olá $(whoami), estamos retornando um erro"
return 1
}

# Define uma função pra mostrar o menu pro usuário
function menu {
echo "----MENU----"
echo "1) Hello"
echo "2) Sair"

# Espera que o usuário dê uma resposta
read -p "Opção: " resposta
}

# Chama o menu
menu

# Faz algo dependendo da resposta que o usuário passou lá na função menu
case $resposta in
1)
# Chama a função hello_world e se ela retornar um código de erro chama o menu novamente
# Se der tudo certo o script encerra
hello_world
if [ $? -eq 1 ];
then
echo "Ocorreu um erro, retornando..."
menu
fi

;;
2) echo "Saindo..."
exit 0
;;
# Caso o usuário entre com alguma opção não listada acima informe o mesmo e volte ao menu
*)
echo "Selecione uma opção válida"
menu

esac



7. Muito obrigado

Alex Machado Fontinelli
Pinguino

(usa Debian)

Enviado em 07/11/2019 - 16:19h

muito obrigado pylm foi tudo resolvido graças a sua ajuda


8. Re: recarregar / reiniciar script [RESOLVIDO]

augusto
marimbondo

(usa Outra)

Enviado em 07/11/2019 - 20:53h

"1" ) echo "OPÇÃO 1 ls" ;
ls -la $IDL1 || { "${0}"; exit;} ;
;;


${0} é o caminho do próprio script em execução.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts