在Bash中限制特定变量

时间:2014-10-22 05:56:40

标签: bash variables

我有一个设置各种变量的脚本。

maxMemSize=8g
poolThreadCount=4
...

我必须在多个系统上执行此脚本,所有这些脚本都运行CentOS。现在需要的是限制某些系统上某些变量的设置。例如,在system1上,不应设置maxMemSize,而在系统2设置poolThreadCount时应设置限制。

就像我们设置readonly环境变量以限制export这些特定变量的方式一样,我们是否可以采用类似的技巧来限制在bash脚本中设置特定变量?

1 个答案:

答案 0 :(得分:0)

要限制变量重新定义,您可以在~/.bashrc或任何其他文件中将其设置为只读,让我们说~/.readonly

readonly maxMemSize=3g
readonly poolThreadCount=2

现在你需要告诉你bash哪个init文件在开始执行之前应该运行。这由环境变量$BASH_ENV定义:

export BASH_ENV=~/.bashrc

export BASH_ENV=~/.readonly

现在在bash

下执行您的脚本
bash initThreadRead.sh