D
dreipapier__
Hallo zusammen,
ich, als Anfänger in Shellskripting stehe vor einer "Riesenaufgabe".
Ich habe es mit folgendem Fall zu tun:
ich leite einige Umgebungsvariablen mit folgendem Befehl in eine Datei um:
vmtoolsd --cmd 'info-get guestinfo.ovfEnv' > vmt
In dem File vmt, sind strings wonach ich suche. Dazu habe ich folgendes Array kreiert.
list=(dns1 dns2 ip gateway netmask) --> Also die Strings wonach ich in vmt suche sind dns1 dns2 usw.
Ich mache nun folgendes:
list=(dns1 dns2 ip gateway netmask)
vmtoolsd --cmd 'info-get guestinfo.ovfEnv' > vmt
for i in $(cat vmt);
if find "dns1" then save the value" 145.230.8.1...
Also ich versuche lediglich eine for schleife mit den strings welche ich in vmt suche zu kreieren und anschließend bei übereinstimmung gewisse werte zu speichern:
vmt sieht so aus:
$ cat vmt
<?xml version="1.0" encoding="UTF-8"?>
<Environment
xmlns="Index of /ovf/environment/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlnse="Index of /ovf/environment/1"
xmlns:ve="http://www.vmware.com/schema/ovfenv"
oe:id="">
<PlatformSection>
<Kind>VMware ESXi</Kind>
<Version>4.1.0</Version>
<Vendor>VMware, Inc.</Vendor>
<Locale>de</Locale>
</PlatformSection>
<PropertySection>
<Property oe:key="dns1" oe:value="145.230.8.1"/>
<Property oe:key="dns2" oe:value="145.230.8.1"/>
<Property oe:key="gateway" oe:value="145.230.8.254"/>
<Property oe:key="ip" oe:value="145.230.8.33"/>
<Property oe:key="netmask" oe:value="255.255.255.0"/>
</PropertySection>
<ve:EthernetAdapterSection>
<ve:Adapter ve:mac="00:50:56:84:00:0b" ve:network="NLSHOP_145.230.39.128-26"/>
</ve:EthernetAdapterSection>
</Environment>
Also wenn er in der ersten for schleife "dns1" im vmt findet, soll er bitte in die variable dns1 den wert 145.230.8.1 speichern.
Wenn mir jemand einen Lösungsweg aufschreiben könnte wäre ich ihm sehr dankbar!!!
dankeschön & grüße
ich, als Anfänger in Shellskripting stehe vor einer "Riesenaufgabe".
Ich habe es mit folgendem Fall zu tun:
ich leite einige Umgebungsvariablen mit folgendem Befehl in eine Datei um:
vmtoolsd --cmd 'info-get guestinfo.ovfEnv' > vmt
In dem File vmt, sind strings wonach ich suche. Dazu habe ich folgendes Array kreiert.
list=(dns1 dns2 ip gateway netmask) --> Also die Strings wonach ich in vmt suche sind dns1 dns2 usw.
Ich mache nun folgendes:
list=(dns1 dns2 ip gateway netmask)
vmtoolsd --cmd 'info-get guestinfo.ovfEnv' > vmt
for i in $(cat vmt);
if find "dns1" then save the value" 145.230.8.1...
Also ich versuche lediglich eine for schleife mit den strings welche ich in vmt suche zu kreieren und anschließend bei übereinstimmung gewisse werte zu speichern:
vmt sieht so aus:
$ cat vmt
<?xml version="1.0" encoding="UTF-8"?>
<Environment
xmlns="Index of /ovf/environment/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlnse="Index of /ovf/environment/1"
xmlns:ve="http://www.vmware.com/schema/ovfenv"
oe:id="">
<PlatformSection>
<Kind>VMware ESXi</Kind>
<Version>4.1.0</Version>
<Vendor>VMware, Inc.</Vendor>
<Locale>de</Locale>
</PlatformSection>
<PropertySection>
<Property oe:key="dns1" oe:value="145.230.8.1"/>
<Property oe:key="dns2" oe:value="145.230.8.1"/>
<Property oe:key="gateway" oe:value="145.230.8.254"/>
<Property oe:key="ip" oe:value="145.230.8.33"/>
<Property oe:key="netmask" oe:value="255.255.255.0"/>
</PropertySection>
<ve:EthernetAdapterSection>
<ve:Adapter ve:mac="00:50:56:84:00:0b" ve:network="NLSHOP_145.230.39.128-26"/>
</ve:EthernetAdapterSection>
</Environment>
Also wenn er in der ersten for schleife "dns1" im vmt findet, soll er bitte in die variable dns1 den wert 145.230.8.1 speichern.
Wenn mir jemand einen Lösungsweg aufschreiben könnte wäre ich ihm sehr dankbar!!!
dankeschön & grüße