bash: Array Variable in anderer Variable speichern

04/09/2008 - 16:18 von Michael Schmarck | Report spam
Hi!

Wie kann ich in Bash 3 (3.0 oder von mir aus 3.2.39+) ein Array
in einer anderen Variable speichern?

Bsp.:

#! /bin/bash
array=(ja nein doch)
anderes_array=$array

echo ${array[1]}
echo ${anderes_array[1]}

$ bash /tmp/artest.bash
nein

$

Dh. in "anderes_array" ist zumindest an index 1 nichts gespeichert (es
wurde nur index 0 von array übergeben).

Wie aber kann ich nun ein Array in einem anderen Array speichern?

Mit "${array[*]}" kann man sich ja eine Liste "ausgeben" lassen, bei
der die Elemente von $array durch das 1. Zeichen von $IFS getrennt
sind.

Und dann?

Oder ist's so einfach wie

anderes_array=${array[@]}

Gibt's dabei vlt. irgendwelche Risiken, wenn in $array "komische"
Werte gespeichert sind?

danke,

Michael
 

Lesen sie die antworten

#1 Hauke Laging
04/09/2008 - 16:21 | Warnen spam
Michael Schmarck schrieb am Donnerstag 04 September 2008 16:18:

Mit "${array[*]}" kann man sich ja eine Liste "ausgeben" lassen,
bei der die Elemente von $array durch das 1. Zeichen von $IFS
getrennt sind.



Fast richtig:

array=(ja nein doch)
anderes_array=("${array[@]}")


CU

Hauke
http://www.hauke-laging.de/ideen/
Wie können 59.054.087 Leute nur so dumm sein?

Ähnliche fragen