Alexander Reintzsch
2018-11-19 20:04:21 UTC
Hello,
I think I have found some unexpected behavior related to constants in
bash scripts. I have attached the short proof of concept bash script.
Usually bash scripts continue when they face an error with one command
but this script shows some weired behavior. It exits all the functions
it has called without executing the remaining commands and the continues
to run in the top scope of the script.
This only happens when a constant declared with
declare -r myConst="myConstantValue"
is attempted to be redefined using
myConst="new value"
but not with
declare myConst="new value"
This behavior doesn't seem right.
I have tried this on Ubuntu 16.04 LTS with bash version
GNU bash, Version 4.3.48(1)-release (x86_64-pc-linux-gnu)
Cheers,
Alex
I think I have found some unexpected behavior related to constants in
bash scripts. I have attached the short proof of concept bash script.
Usually bash scripts continue when they face an error with one command
but this script shows some weired behavior. It exits all the functions
it has called without executing the remaining commands and the continues
to run in the top scope of the script.
This only happens when a constant declared with
declare -r myConst="myConstantValue"
is attempted to be redefined using
myConst="new value"
but not with
declare myConst="new value"
This behavior doesn't seem right.
I have tried this on Ubuntu 16.04 LTS with bash version
GNU bash, Version 4.3.48(1)-release (x86_64-pc-linux-gnu)
Cheers,
Alex