Hi, ich hab ein Problem bei mir überschreiben sich Variabel teils von ganz allein, und an anderen Stellen nicht, keine Ahnung warum. Zur Info das System ist eine Centos 6.6 kein Ubuntu, aber ich denke das, dass hier keinen unterschied machen sollte!
Hier eine Beispiel:
1 2 3 4 5 6 7 8 | #!/bin/bash host=$(hostname) ip=${host%?}"1" user="user" pass="123123pass" command="check_vmware_api -H $ip -u $user -p $pass -l cpu" echo $command |
und das hier gibt es dann als Ausgabe:
-l cpu123pass -H 192.168.178.1
so sollte es eigentlich aussehen
check_vmware_api -H 192.168.178.1 -u user -p 123123pass -l cpu
anscheinend fängt er an nach der ersten Variable $ip von vorne an zu schreiben und überschreibt den vorherigen text dabei ich hab keine Ahnung wo jetzt das Problem liegt, ich hoffe das ihr mir dabei helfen könnt
folgendes habe ich bereits ausprobiert
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/bash host=$(hostname) ip=${host%?}"1" user="user" pass="123123pass" p1="check_vmware_api -H $ip" p2=" -u $user" p3=" -p $pass" p4=" -l cpu" command=$p1$p2$p3$p4 echo $command |
wenn ich mir hier die einzelnen Teile $p1-$p4 ausgeben lassen dann sind sie so wie sie sein sollen:
p1=check_vmware_api -H 192.168.178.1 p2=-u user p3=-p 123123pass p4=-l cpu
geben ich dann aber $command aus kommt wieder so ein überschriebender Müll wie oben raus
-l cpu123pass -H 192.168.178.1