Gentoo Archives: gentoo-user-de

From: Florian Philipp <lists@×××××××××××.net>
To: gentoo-user-de@l.g.o
Subject: Re: [gentoo-user-de] OT: bash () bei variablen
Date: Tue, 08 Jan 2013 13:22:25
Message-Id: 50EC1D68.5030703@binarywings.net
In Reply to: Re: [gentoo-user-de] OT: bash () bei variablen by jens wefer
1 Am 08.01.2013 00:05, schrieb jens wefer:
2 > Am Mon, 07 Jan 2013 07:22:25 +0100
3 > schrieb Florian Philipp <lists@×××××××××××.net>:
4 >
5 >> Am 07.01.2013 02:27, schrieb jens wefer:
6 >>>
7 >>> [...]
8 >>>
9 >>
10 >> `ip=($ip_neu)` erzeugt ein Array ip. `$ip` gibt dir den ersten
11 >> Eintrag, also genauso wie `${ip[0]}`. Weil du `$ip_neu` nicht escaped
12 >> hast (`ip=("$ip_neu")`), ist jeder Eintrag whitespace-terminiert.
13 >>
14 >> --
15 >> Florian
16 >
17 > echo ${#ip_neu[@]} gibt 1 aus, also nur 1 element
18 > ip=${ip_neu[0]} gibt mir alles im test 1219 zeichen
19 > ip=($ip_neu) gibt 1.ip (getrennt durch space zur 2.
20 > so wie ich dich verstanden hab muesste ${ip_neu[0]} mir auch doie erste
21 > ip geben, tut es aber nicht.
22 >
23 > bye, jens.
24 >
25
26 Nicht wirklich. Bash hat zwar eine implizite Konvertierung von einfachen
27 zu Array-Variablen, aber die Konvertierung ist äquivalent zu
28 `ip=("$ip_neu")`, nicht `ip=($ip_neu)`.
29
30 BTW: Eine Alternative zum Splitten wäre folgendes:
31 ip=${ip_neu%%[$'\t'$'\n'' ']*}
32
33 Entfernt alles ab dem ersten Tabulator, Zeilenumbruch oder Leerzeichen
34 und speichert das Ergebnis in ip.
35
36 -- Florian Philipp

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-user-de] OT: bash () bei variablen jens wefer <jens.wefer@××××××.net>