Bash 4.0 Introduces Associative Arrays
The GNU Project's Bourne Again Shell (bash) is now in its fourth major version, which provides numerous enhancements.
For one thing, bash now recognizes associative arrays. The newly introduced "**" wildcard recursively matches all libraries and files, although it requires activation of the "globstar" shell option. The new "&>>" redirection operator appends the standard output and standard error to a file.
Programmable completion code also includes some feature enhancements. The developers fixed a few related bugs on the bash 3 branch and improved other POSIX compatibility issues. The full list of new features and enhancements are here, with more details on the bash manpage.
Version compatibility details are here, especially related to the older versions 1.14 and 2.0, especially as to the use of shell options.
Bash 4.0 is under GLPv3 licensing and is available at GNU mirrors as source tarballs for download. Along with bash, a new version 6.0 of the GNU Readline library is also available.
Comments
comments powered by DisqusNews
-
The First Point Release For Ubuntu 22.04 is Now Available
Canonical has released the first point upgrade for Jammy Jellyfish which includes important new toolchains and fixes.
-
Kali Linux 2022.3 Released
From the creators of the most popular penetration testing distributions on the planet, comes a new release with some new tools and a community, real-time chat option.
-
The 14" Pinebook Pro Linux Laptop is Shipping
After a considerable delay, the 14" version of the Pinebook Pro laptop is, once again, available for purchase.
-
OpenMandriva Lx ROME Technical Preview Released
OpenMandriva’s rolling release distribution technical preview has been released for testing purposes and adds some of the latest/greatest software into the mix.
-
Linux Mint 21 is Now Available
The latest iteration of Linux Mint, codenamed Vanessa, has been released with a new upgrade tool and other fantastic features.
-
Firefox Adds Long-Anticipated Feature
Firefox 103 has arrived and it now includes a feature users have long awaited…sort of.
-
System76 Refreshes Their Popular Oryx Pro Laptop with a New CPU
The System76 Oryx Pro laptop has been relaunched with a 12th Gen CPU and more powerful graphics options.
-
Elive Has Released a New Beta
The Elive team is proud to announce the latest beta version (3.8.30) of its Enlightenment-centric Linux distribution.
-
Rocky Linux 9 Has Arrived
The latest iteration of Rocky Linux is now available and includes a host of new features and support for new architecture.
-
Slimbook Executive Linux Ultrabook Upgrading Their CPUs
The Spanish-based company, Slimbook, has made available their next generation Slimbook Executive Linux ultrabooks with a 12th Gen Intel Alder Lake CPU.
bash associative array... solution!
function idx { eval 'case $1 in '${cases[*]}' *) [ "$1" ] && { cases=( ${cases[*]} '\''"'\''$1'\''"
idx all
0
idx all
0
idx jhon
1
idx all
0
as you can see the function return different values for different strings
so associative array becomes quite simple like a simple array
array[`idx name`]=value
echo ${array[`idx name`]}
value
what do you think?