是否有良好的
shell编程习惯,只要有可能就使用只读变量,或者它有任何缺点吗?例如.如果我想编写一些包含多个使用不可变文件路径的脚本文件的脚本,那么声明这样的路径是否有意义:
readonly LOGS export LOGS LOGS="/some/path"
解决方法
听起来你可能认为readonly比它真的做得更多.首先,readonly状态不会导出到环境中或由子进程继承:
$declare -rx LOGS=hello $LOGS=goodbye bash: LOGS: readonly variable $bash -c 'echo "$LOGS"' hello $bash -c 'LOGS=goodbye; echo "$LOGS"' goodbye $