From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 962 invoked by alias); 2 Nov 2011 09:20:27 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 29884 Received: (qmail 611 invoked from network); 2 Nov 2011 09:20:16 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,FREEMAIL_REPLY,NML_ADSP_CUSTOM_MED,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,T_TO_NO_BRKTS_FREEMAIL autolearn=no version=3.3.2 Received-SPF: pass (ns1.primenet.com.au: SPF record at m.gmane.org designates 80.91.229.12 as permitted sender) X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: zsh-workers@zsh.org To: zsh-workers@zsh.org From: Stephane CHAZELAS Subject: Re: Array as parameter Date: Wed, 2 Nov 2011 09:04:49 +0000 (UTC) Message-ID: References: <20111102033545.GI28043__714.249446946447$1320205564$gmane$org@solfire> X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 188-223-3-27.zone14.bethere.co.uk Mail-Copies-To: nobody User-Agent: slrn/pre1.0.0-18 (Linux) 2011-11-2, 04:35(+01), meino.cramer@gmx.de: > how can I use an array as a parameter to a function like > this (example does not work...just as an explanation, what > I want to do) > > #! /bin/zsh > funcion arrprint() > { > for i in $1 > do > echo $i > echo "---" > done > } > > a=( 1 2 3 4 5 6 ) > > arrprint a [...] Try (pass by values) arrprint() { for i do echo "$i" echo --- done } arrprint "${a[@]}" Or (pass by name) arrprint() { eval 'set -- "${'$1'[@]}"' for i do echo "$i" echo --- done } arrprint a -- Stephane