How to Create dynamic variable names in Bash?
Dynamic variable names in Bash
In Bash, dynamic variable names can be created using curly braces {}
and the exclamation mark !
operator.
Let's say you have a variable called fruit
with a value of apple
, and you want to create a new variable with a dynamic name that includes the value of fruit
. You can do it like this:
fruit=apple
name_of_${fruit}=Jonny # This will create a new variable called name_of_apple with the value Jonny
echo $name_of_apple # Output: Jonny
Here, the curly braces are used to specify the variable name, and the exclamation mark !
is used to evaluate the value of the variable.
You can also use dynamic variable names in arrays. For example:
fruit=apple
count_of_${fruit}=5
echo ${count_of_apple} # Output: 5
# You can also use dynamic variable names in arrays
fruits=(apple banana cherry)
for fruit in ${fruits[@]}; do
count_of_${fruit}=5
echo ${count_of_${fruit}} # Output: 5
done
Here, a dynamic variable name is created for each element in the fruits
array. This allows you to create and manipulate variables based on dynamic values in Bash.
Related Bash Tutorials
- How to parse command line arguments in Bash?
- Bash and shell script variable capitalization?
- How to get the directory where a Bash script is located from within the script itself?
- Parsing JSON with Unix tools
- Command not found error in Bash variable assignment
- How to set a variable to the output of a command in Bash?
- How to run Bash commands in Python?
- Extract filename and extension in Bash?
- Looping through the content of a file in Bash
Previous Article
Golang Tutorials
- Hello World
- Operators in Go
- Declarations in Go
- Values in Go
- Variables in Go
- For in Go
- If/Else in Go
- Switch in Go
- Arrays in Go
- Slices in Go
- Maps in Go
- Range in Go
- Functions in Go
- Closures in Go
- Recursion in Go
- Pointers in Go
- Strings and Runes in Go
- Structs in Go
- Methods in Go
- Interfaces in Go
- Generics in Go
- Errors in Go
- Goroutines in Go
- Channels in Go
- Select in Go
- Timeouts in Go
- Timers in Go
- Worker Pools in Go
- WaitGroups in Go
- Mutexes in Go
- Sorting in Go
- Panic in Go
- Defer in Go
- Recover in Go
- JSON in Go
- XML in Go
- Time in Go
- Epoch in Go
- Time Formatting in Go
- Random Numbers in Go
- Number Parsing in Go
- URL Parsing in Go
- SHA256 Hashes in Go
- Base64 Encoding in Go
- Reading Files in Go
- Writing Files in Go
- File Paths in Go
- Directories in Go
- Testing and Benchmarking in Go
- Command-Line Arguments in Go
- Command-Line Flags in Go
- Command-Line Subcommands in Go
- Environment Variables in Go
- HTTP Client in Go
- HTTP Server in Go
- Context in Go
- Signals in Go