 <p>The bracket <code>[</code> is a <code>test</code> operator, which you can think of as an if statement. This is checking to see if the shell variable RABBITMQ_NODE_IP_ADDRESS is empty. Unfortunately, if you try to compare to an empty string <code>""</code>, the shell eliminates it before it does the test and your binary comparison operator only gets one (or maybe zero) operands. To prevent that error, it is a common practice to concatenate an "x" on each side of the <code>=</code>. Thus, instead of</p> <pre><code>[ "" = "&lt;variable&gt;" ] </code></pre> <p>becoming [ = value ] and yielding an error,</p> <pre><code>[ "X" = "X&lt;variable&gt;" ] </code></pre> <p>becomes [ X = Xvalue ]</p> <p>and the comparison may continue</p>