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?
- How do I split a string on a delimiter in Bash?
- How to split a string into an array in Bash?
- How to create a file in Linux from terminal window? [closed]
- What is the preferred Bash shebang?
- What does export PS1=”\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ ” mean in MacOS’ bash Terminal?
- An example of how to use getopts in bash
- How do I execute a bash script in Terminal?
- How to print the array?
- How do I iterate over a range of numbers defined by variables in Bash?
- Echo newline in Bash prints literal \n
- What does “-ne” mean in bash?
- “sed” command in bash
- What is the meaning of 2 in 2> /dev/null
- Parsing JSON with Unix tools
- How to check if a variable is set in Bash?
- “[ ]” vs. “[[ ]]” in Bash shell
- Pseudo-terminal will not be allocated because stdin is not a terminal
- Cannot use mkdir in home directory: permission denied (Linux Lubuntu)
- Using find command in bash script
- Passing a 2D array to a C++ function
- Emulating a do-while loop in Bash
- Given two directory trees, how can I find out which files differ by content?
- How to change the output color of echo in Linux
- How to have an array of arrays in Python
- Delete all local git branches
- bash assign default value
- How do I set a variable to the output of a command in Bash?
- Grep ‘binary file matches’. How to get normal grep output?
- Simple logical operators in Bash
- Bash if statement with multiple conditions throws an error
- What is the difference between “#!/usr/bin/env bash” and “#!/usr/bin/bash”?
- Laravel PHP Command Not Found
- Getting an “ambiguous redirect” error
- Bash syntax error: unexpected end of file
- Is there a “goto” statement in bash?
- Difference between return and exit in Bash functions
- How to modify a global variable within a function in bash?
- How do I automatically restart a Minecraft Spigot server in the event of a crash or /stop when using screen?
- Badly placed ()’s error with the following shell script
- Multidimensional Vectors in C++
- Using SED with wildcard
- How do I add a newline using printf?
- Meaning of “[: too many arguments” error from if [] (square brackets)
- “Error installing rails” because “extconf.rb failed” on Ubuntu 18.04
- Convert a 1D array to a 2D array in numpy
- How to ssh from within a bash script?
- How can I do a recursive find/replace of a string with awk or sed?
- Creating and iterating a 2d array in Ruby
- How to get rows and columns count of a 2D array in Java?
- Bash mkdir and subfolders
- Print array elements on separate lines in Bash?
- Error when using ‘sed’ with ‘find’ command on OS X: “invalid command code .”
- How to create a UUID in bash?
- bash: print stderr in red color
- How to add a timestamp to bash script log?
- Clean way to write complex multi-line string to a variable
- Standard place for user defined bash_completion.d scripts?