Unerwartetes Dateiende in BASH Script?
Hallo,
In meinem Bash Programm wird beim Compilen "Unerwartetes Dateiende" angezeigt.
Woran liegt das ?
CODE:
#!/bin/bash
# Functions
function pingpass(){
dialog --msgbox "Ping Successfull ! -> Host is Online !"
sleep 4
dialog --clear
logonconf
}
function pingfail(){ dialog --msgbox "Ping Failed ! -> Host is Offline !" sleep 4 dialog --clear dialog --msgbox "Programm Terminated because of an Error !" }
function logoncof(){ dialog --title "RDP Logon Srcipt" --yesno "Please confirm your choosen Option:\n $logon" 0 0 }
Main
logon=
dialog --title "RDP Logon Srcipt" --menu "Please choose a Server to Logon !" 0 0 0 \
"Linux1" "" "Linux2" "" "Linux3" "" 3>&1 1>&2 2>&3
dialog --clear
if [$logon = "Linux1"]
then
ping -c1 192.168.2.1 > /dev/null
if [ $? -eq 0 ]
then
pingpass
else
pingfail
fi
2 Antworten
Hallo
In meinem Bash Programm wird beim Compilen "Unerwartetes Dateiende" angezeigt.
- Beim compilen?
- Da empfehle ich das Script mal mit der Option -x auszuführen um zu sehen wo Fehler auftreten:
bash -x scriptname
Das was milos2 schreibt ist schonmal ein Anfang, dennoch Du solltest auch die Mittel kennen um einem Fehler selbst auf die Spur zu kommen.
Als Tipp noch das hier.
In Deinem letzten Abschnitt hast Du zwei if aber nur ein fi stehen, das ist ganz sicher auch falsch ;-)
Linuxhase
Nachtrag:
[$logon = "Linux1"]
Da fehlen die Leerzeichen bei den eckigen Klammern. Ich würde $logon auch in Anführungszeichen setzen.
- Pro Zeile ein Befehl. Bei mehreren Befehlen bitte durch ein ; trennen
- Das Schlüsselwort function kannst du dir sparen. Das ist so eine Basheigenheit, aber nicht POSIX.
- Lies die Manpage zu dialog durch. Es fehlen die Angaben Breite und Höhe.