在Windows 10上使用来自msys2的bash,我似乎无法将变量设置为包含parens的Windows环境变量,即&#39;(&#39;,在bash脚本中。例如,< / p>
p86="$PROGRAMFILES(x86)"
不起作用,它会扩展env变量$PROGRAMFILES
。我试过用反斜杠逃避,即。 &#34; $ PROGRAMFILES \(86 \)&#34;但那不起作用。在bash中有这种方法吗?或只是不允许扩展变量的parens?所有窗口变量都可在过程环境中使用。
答案 0 :(得分:1)
通常您会使用encoding/xml
取消引用变量,例如:
${..}
将打印变量echo "${a}bc"
,然后打印文字$a
。
尝试:
bc
另外,您应该检查p86="${PROGRAMFILES(x86)}"
的输出以查看变量是否存在:
env
答案 1 :(得分:1)
使用Windows命令处理器:
PFX86="$(cmd //c 'echo %ProgramFILES(x86)%')"