the mklvars.sh script shipped with the Linux edition of the Intel compiler fails to work on zsh because it is sh incompatible: The use of [ "" == "" ] is incorrect and instead [ "" = "" ] must be used.
I had to patch that script to be able to use the environment script provided by the package.
According to man sh
Conditional expressions are used by the [[ compound command and the test and [ builtin commands to test file attributes and perform
string and arithmetic comparisons.
string1 == string2
True if the strings are equal. = may be used in place of == for strict POSIX compliance.
So, '==' is OK
STRING = PATTERN
STRING == PATTERN
true if STRING matches PATTERN. The `==' form is the preferred
one. The `=' form is for backward compatibility and should be
Therefore, Zsh must workas sh and bash