pequeno roteiro
#!/bin/sh
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 24 | head -n 4
printf 'do you like this? (y/n)? '
read answer
if [ "$answer" != "${answer#[Yy]}" ] ;then
echo Yes
else
echo No
goto?!? jumpto?!? urandom line
fi
ele lê urandom e pergunta se está tudo bem, se sim o script termina.
se não, vou ler e perguntar novamente - como fazer isso?
eu preciso ir? ou jumpto ou qualquer outra coisa?
Pelo que entendi, você deseja executar um loop infinito contendo seu script e sair do script quando a resposta ao prompt for
y
.A maneira de criar um loop infinito
bash
é usandowhile true
:A maneira de sair de um script é usando o arquivo
exit
.Isso tornaria seu script:
Há uma série de outras observações para sua consideração.
Isso
#!/bin/sh
garante que o script seja executado emsh
e não embash
. Se você quiser usarbash
, mude a linha para#!/bin/bash
.read
é capaz de fornecer o prompt para você. Você não precisa de umprintf
para isso.Como
if
condição, eu faria (embash
,sh
não suporta isso):Isso é mais legível (eu acho).