Bash does not support multidimensional arrays, nor hashes, and it seems that you want a hash that values are arrays. This solution is not very beautiful, a solution with an xml file should be better :
array=('d1=(v1 v2 v3)' 'd2=(v1 v2 v3)') for elt in "${array[@]}";do eval $elt;done echo "d1 ${#d1[@]} ${d1[@]}" echo "d2 ${#d2[@]} ${d2[@]}"
EDIT: this answer is quite old, since since bash 4 supports hash tables, see also this answer for a solution without eval.
Related Posts:
- How do I pause my shell script for a second before continuing?
- In the shell, what does ” 2>&1 ” mean?
- In the shell, what does ” 2>&1 ” mean?
- How do I use a regex in a shell script?
- How to grep for case insensitive string in a file?
- Difference between wait and sleep
- Multi-line string with extra space (preserved indentation)
- Multi-line string with extra space (preserved indentation)
- ‘\r’: command not found – .bashrc / .bash_profile [duplicate]
- Loop through an array of strings in Bash?
- ‘\r’: command not found – .bashrc / .bash_profile [duplicate]
- How can I check if a directory exists in a Bash shell script?
- How can I declare and use Boolean variables in a shell script?
- How to reload .bashrc settings without logging out and back in again?
- How can I declare and use Boolean variables in a shell script?
- How to reload .bash_profile from the command line?
- What is the purpose of “&&” in a shell command?
- Replace one substring for another string in shell script
- What is a list in Bash?
- How can I count all the lines of code in a directory recursively?
- How can I kill a process by name instead of PID, on Linux?
- Which characters need to be escaped when using Bash?
- Shell: How to call one shell script from another shell script?
- find: missing argument to -exec
- How to check if an environment variable exists and get its value?
- How to convert a string to lower case in Bash?
- Create a new file in git bash
- How to specify the private SSH-key to use when executing shell command on Git?
- Sorting data based on second column of a file
- Speed up rsync with Simultaneous/Concurrent File Transfers?
- Variable interpolation in the shell
- What’s the meaning of the parameter -e for bash shell command line?
- zip error – Nothing to do
- How to sort an array in Bash
- Check existence of input argument in a Bash shell script
- Associative arrays in Shell scripts
- How to split one string into multiple strings separated by at least one space in bash shell?
- Copy multiple files from one directory to another from Linux shell
- Shell script not running, command not found
- source command not found in sh shell
- Difference between sh and Bash
- Integer expression expected error in shell script
- What is the difference between double and single square brackets in bash?
- Cp: target is not a directory
- How do I split a string on a delimiter in Bash?
- How to split a string into an array in Bash?
- How do I tell if a regular file does not exist in Bash?
- How to create a file in Linux from terminal window? [closed]
- Extract substring in Bash
- What is the preferred Bash shebang?
- Ubuntu says “bash: ./program Permission denied” [closed]
- Read a file line by line assigning the value to a variable
- How to compare strings in Bash
- How to decode Seagate’s hard drive date code in a Bash script
- What does export PS1=”\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ ” mean in MacOS’ bash Terminal?
- How to concatenate string variables in Bash
- -bash: syntax error near unexpected token `)’
- An example of how to use getopts in bash
- How do I parse command line arguments in Bash?
- How do I execute a bash script in Terminal?
- How do I declare a 2d array in C++ using new?
- How to make “if not true condition”?
- How to print the array?
- How do I declare a 2d array in C++ using new?
- How can I create a two dimensional array in JavaScript?
- Bash script and /bin/bash^M: bad interpreter: No such file or directory
- -bash: syntax error near unexpected token `newline’
- An “and” operator for an “if” statement in Bash
- How can I create a two dimensional array in JavaScript?
- How do I iterate over a range of numbers defined by variables in Bash?
- Echo newline in Bash prints literal \n
- Bash script and /bin/bash^M: bad interpreter: No such file or directory [duplicate]
- Passing parameters to a Bash function
- How to split a string into an array in Bash?
- How do I iterate over a range of numbers defined by variables in Bash?
- Echo newline in Bash prints literal \n
- How can I use “:” as an AWK field separator?
- An “and” operator for an “if” statement in Bash
- “unary operator expected” error in Bash if condition
- “while :” vs. “while true” [duplicate]
- What does “-ne” mean in bash?
- “sed” command in bash
- What is the meaning of 2 in 2> /dev/null
- How to generate random number in Bash?
- Parsing JSON with Unix tools
- How to check if a variable is set in Bash?
- “[ ]” vs. “[[ ]]” in Bash shell
- How do I split a string on a delimiter in Bash?
- warning: ISO C++ forbids variable length array
- Bash scripting missing ‘]’
- Pseudo-terminal will not be allocated because stdin is not a terminal
- Cannot use mkdir in home directory: permission denied (Linux Lubuntu)
- How do I compare two string variables in an ‘if’ statement in Bash?
- Using find command in bash script
- Passing a 2D array to a C++ function
- Create 3D array using Python
- How can I compare numbers in Bash?
- Return value in a Bash function
- Is bash a programming language?
- Open and write data to text file using Bash?