On 1/8/21 10:24 AM, Oğuz wrote:
8 Ocak 2021 Cuma tarihinde Chet Ramey <chet.ra...@case.edu
<mailto:chet.ra...@case.edu>> yazdı:
On 1/8/21 5:20 AM, Oğuz wrote:
See:
$ declare -A assoc=($'\n\'' 42)
$ for key in "${!assoc[@]}"; do (( assoc[$key]++ )); done
bash: ((: assoc[
']++ : bad array subscript (error token is "assoc[
']++ ")
$
$ (( assoc[${key@Q}]++ ))
bash: ((: assoc[$'\n\'']++ : bad array subscript (error token is
"assoc[$'\n\'']++ ")
This situation is why bash-5.0 introduced the `assoc_expand_once' option.
But it allows arbitrary command injection.
If you want to run array keys through word expansions, this is one
potential result. Command substitution is "arbitrary command injection."
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/