[gentoo-user-de] OT: bash () bei variablen

07/01/2013 - 02:30 von jens wefer | Report spam
hey,

ip_neu=`cat $TMPDIR/$TMPFILE | grep -Eo
'([0-9]{1,3}\.){3}[0-9]{1,3}'` laenge=${#untestedip}

damit hol ich ip's aus ner datei, da kommt dann einer oder auch meherer
getrennt mit space oder return.
ich will nur die erste, wenn mehr sind greif ich mir die erste als
substring.

klappt alles wie gewuenscht.

nun hab ich entdeckt das:
ip1=($ip_neu)
mir genau die gewuenschte 1.ip gibt.

hab gesucht und nix dazu in der doku gefunden, bzw. steht da was von
subshell, etc..
hat jmd nen tip was die klappern bei variablen bewirkt?

bye, jens.
 

Lesen sie die antworten

#1 Florian Philipp
07/01/2013 - 07:30 | Warnen spam
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)

Am 07.01.2013 02:27, schrieb jens wefer:
hey,

ip_neu=`cat $TMPDIR/$TMPFILE | grep -Eo
'([0-9]{1,3}\.){3}[0-9]{1,3}'` laenge=${#untestedip}

damit hol ich ip's aus ner datei, da kommt dann einer oder auch meherer
getrennt mit space oder return.
ich will nur die erste, wenn mehr sind greif ich mir die erste als
substring.

klappt alles wie gewuenscht.

nun hab ich entdeckt das:
ip1=($ip_neu)
mir genau die gewuenschte 1.ip gibt.

hab gesucht und nix dazu in der doku gefunden, bzw. steht da was von
subshell, etc..
hat jmd nen tip was die klappern bei variablen bewirkt?

bye, jens.




`ip=($ip_neu)` erzeugt ein Array ip. `$ip` gibt dir den ersten Eintrag,
also genauso wie `${ip[0]}`. Weil du `$ip_neu` nicht escaped hast
(`ip=("$ip_neu")`), ist jeder Eintrag whitespace-terminiert.

Florian




Ähnliche fragen