PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shell Skript Ansprechen von Variablen



pinpin
03.03.08, 12:36
Hallo zusammen,

ich habe ein problem mit dem ausgeben von Variablen Inhalten, die leerzeichen enthalten:



`snmpwalk -c blabla -v 2c routername -Cc IF-MIB::ifDescr | cut -d ':' -f 4`; for i in ${vpn[@]}; do echo $i; done;

Die Werte die abgefragt werden enthalten zum Teil leerzeichen. Das führt aber dazu das diese als neues Array Element behandelt werden. Das möchte ich aber nicht.

Z.B.

WHL Standort 5
Standort1
Standort3

Das sieht dann im Array unter der Bash wie folgt aus:

0 --> WHL
1 --> Standort
2 --> 5
3 --> Standort1
4 --> Standort3

Das möchte ich aber nicht. Jetzt hatte ich gelesen, das man ${vpn[@]} ein "@" Zeichen nimmt, wenn die variablen leerzeichen enthalten. Aber es funktioniert nicht.

Was kann ich tun? Hoffe es weiß jemand Rat.

Gruß Björn

marce
03.03.08, 13:04
Du suchst die Bash-Varaible IFS.

pinpin
03.03.08, 13:33
Jo, vielen Dank!!

Funktioniert!


vpn=`snmpwalk -c blabla -v 2c routername -Cc IF-MIB::ifDescr | cut -d ':' -f 4`; IFS=$'\n'; for i in ${vpn[@]}; do echo $i; done;