这看起来有点愚蠢,但我看到变量IS_MASTER在厨师模板templates/default/server.sh.erb
中用作:
$ grep -r IS_MASTER .
./templates/default/server.sh.erb: if [ $IS_MASTER -eq 1 ]
./templates/default/server.sh.erb: if [ $IS_MASTER -eq 1 ]
以上暗示变量只是被读取而不是任何人写的。在整个代码库中没有任何地方,这个变量正在编写中。所以我想知道这是一个bug还是厨师或shell中的一些隐藏变量。有谁知道吗?
答案 0 :(得分:0)
该程序依赖于将数据用作变量。还有另一个脚本读出由其他程序吐出的JSON配置,然后设置所有变量。它还会在设置之前将这些变量大写。 JSON数据中包含变量is_master
。
答案 1 :(得分:0)
这是一个Bash环境变量,而不是一个Erb模板变量(看起来像<%= @something %>
),因此Chef认为只是写入磁盘的文本。或许检查任何init脚本或/etc/default/
文件?