Az if-else nincs lezárva megfelelően, az $answer értéke pedig karakter lesz és nem szám így az összeahasonlítás is rossz. Erre az esetre inkább használj switch-et, illetve ha a read-el csak egy karaktert olvastatsz be, nem kell entert nyomni a leütött szám után. Valahogy így:
#!/bin/bash
echo "press [1] to start or [2] to stop the virtual FTP server"
answer=0
read -n 1 answer
case $answer in
"1")
vboxmanage startvm "FTP server" --type headless
;;
"2")
vboxmanage controlvm "FTP server" poweroff
;;
*)
echo "you can only use [1] or [2]"
;;
esac
update: a tabulátorokat valamiért sajnos letojja a code tag, de így is működik.