shell-script für das vergleichen von zwei Variablen

Habe ich ein Skript erstellt für die Aktualisierung einige IP-Adresse in iptables. Hiermit beschreibe ich die Probleme, die ich bin mit Blick auf, die.

Fragen:

  1. Vergleich nicht passiert zwischen zwei Variablen in einem Skript
  2. Am Ende von Skript brauche ich, um einen Befehl auszuführen, ie; service starten/stoppen etc und die Ausgabe der Befehle sichtbar sein sollte, während das Skript ausgeführt wird.

1) Hier bin den Vergleich von zwei Variablen strings:

BASE=172.31.0.0
CMD=172.31.1.0

if [[ "$CMD" == "$BASE" ]]; then
   echo "ip are same"
else
   echo "not matched"
fi

aber es gibt keine Reaktion/Ausgang während der Ausführung des obigen Skriptes. Hier ist nicht der Vergleich ist nicht passiert..Freundlich darauf hin eine optimale Lösung um dieses Problem zu beheben.

2) nach ausführen des Skripts die ich brauche, um den Neustart der iptables:

BASE=172.31.0.0
CMD=172.31.1.0

if [[ "$CMD" == "$BASE" ]]; then
   echo "ip are same"
else
   echo "not matched"
fi

service iptables restart
iptables -nvL

Einem script angezeigt werden sollen, die die Ausgabe der letzten beiden Zeilen (Befehle). Freundlich darauf hin mich die beste Lösung und wie diese in eine beste Weg.

Presentation award für diesen post. viel Glück
Also ... genau das, was shell benutzt du? bash oder sh? Sie wissen, Sie sind anders, richtig? Da ist dieses Skript funktioniert in bash und produziert einen Fehler in sh. Weder das sind, was Sie sind reporting.
Vielen Dank für Ihre Antwort, Bin mit bash-Skript und ich bin versucht, führen Sie dieses Skript aus, indem Sie ./script.sh.
Du meinst, dass Sie keine - Ausgang und keine Fehlermeldung? Das klingt seltsam.
Hinzufügen #!/bin/bash auf die erste Zeile Ihres Skripts, einfach zu behaupten es wird ausgeführt, mit bash wenn Sie ./script.sh.

InformationsquelleAutor suboss87 | 2013-02-13

Schreibe einen Kommentar