#! /bin/bash # $ ./array_to_string.sh 'this' 'is a' 'test' # declare -a output_array='([0]="this" [1]="is a" [2]="test")' # declare -a output_array='([0]="this" [1]="is a" [2]="test")' array_to_string() { # Treat the arguments as an array: local -a array=( "$@" ) declare -p array | sed -e 's/^declare -a array=//' } # Pass an array to a function: input_array=( "$@" ) string="$(array_to_string "${input_array[@]}")" # string_to_array idiom: string_to_array_code="declare -a output_array=${string}" eval "$string_to_array_code" # The outputs of the following two commands should be identical: echo "$string_to_array_code" declare -p output_array
Tuesday, December 1, 2009
Return an Array from a Bash Function v. 2
I wrote an earlier post about returning an array from a Bash function. This version is better.
blog comments powered by Disqus
Subscribe to:
Post Comments (Atom)