- use
#!/bin/bashcomo shebang. - não há necessidade de
[ [...] ] -
"$answer" -eq "nano" && "vi" && "vim" && "emacs"não testará a resposta novamente nessas quatro palavras.
definição de função
while read -p "What file editor would you like to use? (Nano) or (Vi)m " answer
do
answer=$(echo "$answer" | tr '[:upper:]' '[:lower:]')
case $answer in
( nano | vi | vim | emacs )
$answer ;
## OR
export EDITOR=$answer
break
;;
( * )
echo "This is embarassing, I didn't understand your input..."
;;
esac
done
- isso verificará se a resposta é um dos quatro editores válidos.
- o valor é retornado em EDITOR
-
export $answer=provavelmente falhará (primeira vez) ou dará um resultado inesperado (próxima vez) - use
$answerpara chamar o editor (ou$answer "$myfile"), - use
export EDITOR=$answerpara defini-lo, - ou melhor ainda
export EDITOR=$(which $answer).