- use
#!/bin/bash
como 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
$answer
para chamar o editor (ou$answer "$myfile"
), - use
export EDITOR=$answer
para defini-lo, - ou melhor ainda
export EDITOR=$(which $answer)
.