Erfassen Ausgabe des bash-Befehl, analysieren Sie und speichern Sie in unterschiedlichen bash-Variablen

Erklärung:

Habe ich eine kleine bash - Skript, welches einfach läuft alle Linux Befehl (z.B. sagen ifconfig)

Die typische Ausgabe von ifconfig ist so etwas wie dieses:

eth0      Link encap:Ethernet  HWaddr 30:F7:0D:6D:34:CA
          inet addr:10.106.145.12  Bcast:10.106.145.255  Mask:255.255.255.0
          inet6 addr: fe80::32f7:dff:fe6d:34ca/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1104666 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2171 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:444437904 (423.8 MiB)  TX bytes:238380 (232.7 KiB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.255.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:15900 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15900 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:467306 (456.3 KiB)  TX bytes:467306 (456.3 KiB)

Nun, was die meisten Menschen in der Regel tun ist, speichern Sie die gesamte Ausgabe in eine Datei/variable und analysieren auf dieser Grundlage. Ich jedoch möchte wissen, ob es trotzdem, ich könnte bestimmten Teile der Ausgabe in mehr als einer Variablen (sagen wir ein bash-variable genannt ${IPETH0} tragen Sie die IP-Adresse 10.106.145.12 aus eth0 und ${IPLO} tragen Sie die IP-Adresse 127.0.0.1 aus lo im obigen Beispiel ohne ausführen von ifconfig-Befehl zweimal).

Etwas wie das, was tee Befehl wird mit der Eingabe-aber ich will dies für das Ausgabe und speichern Sie die Ausgabe in 2 oder mehr Variablen in einem Rutsch. Irgendwelche Ideen?

  • Es sei denn, Sie führen Sie Ihr Skript mit source kann keine Variablen in der aufrufenden Umgebung. Siehe stackoverflow.com/questions/496702/...
  • Ich habe nicht ganz glaube, so weit das exportieren der Variablen. Vielen Dank für diesen Leckerbissen trotzdem. 🙂
InformationsquelleAutor Arpith | 2013-08-26
Schreibe einen Kommentar