Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

IF THEN Statement im bash-script funktioniert nicht

Frage Entwicklung Batch & Shell

Mitglied: FA-jka

FA-jka (Level 3) - Jetzt verbinden

18.08.2014, aktualisiert 22:32 Uhr, 1211 Aufrufe, 3 Kommentare

Hier mal "so zum Zeigen" das Script, mit dem ich die dynamische IP-Adresse von meinem RasPI aktualisiere:

01.
#!/bin/bash 
02.
03.
hostname=xyz.zapto.org 
04.
getipscript=/root/dyndns/get_ip.sh 
05.
xml_file=/root/dyndns/external_ip.xml 
06.
logfile=/root/dyndns/cronscript.log 
07.
 
08.
dns_ip=$(dig @8.8.8.8 $hostname +short) 
09.
meine_ip=$($getipscript) 
10.
 
11.
date >> $logfile 
12.
 
13.
echo "Externe DNS IP:" $dns_ip >> $logfile 
14.
echo "Externe IP der Fritz! Box:" $meine_ip >> $logfile 
15.
 
16.
if [ "$dns_ip" = "$meine_ip" ] 
17.
then 
18.
  echo "IP-Adressen sind identisch, kein Update notwendig" >> $logfile 
19.
else 
20.
  echo "DNS-IP veraltet, Update erfolgt" >> $logfile 
21.
  ddclient -daemon=0 -debug -verbose -noquiet 2 /etc/ddclient.conf >> $logfile 
22.
fi 
23.
 
24.
echo "" >> $logfile 
25.
echo "" >> $logfile 
26.
echo "" >> $logfile 
27.
root@pinulldrei:~/dyndns#
Wenn ein Update erfolgen soll (also die IP-Adressen unterschiedich sind), wird Zeile 20 ausgeführt. Zeile 21 wird in dem Fall jedoch nicht ausgeführt. Wenn ich den Befehl aus Zeile 21 per cut&paste "händisch" fahre, läuft der problemlos durch.

Warum wird Zeile 21 nicht ausgeführt?
Mitglied: Lochkartenstanzer
18.08.2014, aktualisiert 19.08.2014
Zitat von FA-jka:

Wenn ein Update erfolgen soll (also die IP-Adressen unterschiedich sind), wird Zeile 20 ausgeführt. Zeile 21 wird in dem Fall
jedoch nicht ausgeführt. Wenn ich den Befehl aus Zeile 21 per cut&paste "händisch" fahre, läuft der
problemlos durch.

Warum wird Zeile 21 nicht ausgeführt?

'N Abend

wie stellst du fest, das zeile 21 nicht ausgeführt wird?

Schreib doch dahinter doch einfach noch ein echo, um festzustellen ob die zeile danach ausgeführt wird.

lks

Nachtrag: Stimmen die Pfade? Unter welchem User wird das Skript ausgeführt udn hat der denselben Pfad wie Du, wenn Du das im Terminal ausführst?
Bitte warten ..
Mitglied: FA-jka
19.08.2014 um 08:42 Uhr
Ich habe das Gefühl, Du bist auch der Meinung, dass die Zeile ausgeführt werden müsste

Das mit den Pfaden kann tatsächlich sein. Ich befinde mich auf einer Rootshell und starte das Script direkt -> kein Problem. Ansonsten steht das in der crontab vom Root drin und dort scheint es nicht zu funktionieren.

Ich werde heute Abend mal den vollständigen Pfad vor den ddclient basteln.
Bitte warten ..
Mitglied: Lochkartenstanzer
19.08.2014, aktualisiert um 08:50 Uhr
Zitat von FA-jka:

Ich habe das Gefühl, Du bist auch der Meinung, dass die Zeile ausgeführt werden müsste

Eben. deswegen mein rat, einfach ein zweites echo hinter die ddclient-Zeile zu schreiben, damit man sicher weiß, daß der else-teil komplett abgearbeitet wird.

Das mit den Pfaden kann tatsächlich sein. Ich befinde mich auf einer Rootshell und starte das Script direkt -> kein
Problem. Ansonsten steht das in der crontab vom Root drin und dort scheint es nicht zu funktionieren.

Wenn es aus der root-shell korrekt ausgeführt wird, heißt das, daß das skript in Ordnung ist.

hast Du stderr in der crontab auf /dev/null gebogen oder werden fehler Dir per mail zugestellt? Schau mal in die mails von/an root, die Dir der cron-daemon schickt. da soltle es drinstehen, wenn Du stderr nicht nach /dev/null entsorgt hast.

lks
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Variablen in bash-script ändern
gelöst Frage von cptkrabbeBatch & Shell3 Kommentare

Hallo! Ich stehe mal wieder auf allen verfügbaren Schläuchen, vielleicht könnt Ihr mir helfen. Ich habe ein Script (script.sh) ...

Linux
Umlaute zählen - Bash-Script
gelöst Frage von plutowitschLinux5 Kommentare

Hallo liebe Administratoren, ich würde gerne mit Hilfe eines Codeschnipsels die Umlaute eines Strings zählen. Beispiel: Jemand eine Idee, ...

Ubuntu
Nregp ereignis für bash-script
Frage von rsadmchefUbuntu3 Kommentare

Hallo zusammen Betreibe Lubuntu 14.04 LTS. Wenn ein Browser läuft, kann man mit ngrep einen Netzwerk-Traffic mitschneiden In einer ...

Batch & Shell
Automatisiertes bash Script
gelöst Frage von SpeakerSTBatch & Shell5 Kommentare

Hallo, ich hoffe mir kann hier jemand helfen. Ich versuchen uns unsere Linux Installation zu Autmoatisieren. Dabei sollen Teil ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...