WSL中使用bash -c执行export命令失败,变量输出为空求助
问题解决:WSL中bash -c执行命令时变量为空的问题
你的问题出在PowerShell会优先解析双引号里的$变量,导致$MY_HOME还没传到bash就被PowerShell处理了(而PowerShell里根本没这个变量,所以为空)。
解决方法有两种:
用单引号包裹bash命令,PowerShell不会解析单引号内的变量,会原封不动传给bash:
bash -c 'export MY_HOME=/mnt/d ; echo $MY_HOME'转义$符号,在PowerShell里用反引号(`)把$转义,让它能被bash识别:
bash -c "export MY_HOME=/mnt/d ; echo `$MY_HOME"
执行任意一种都能正常输出/mnt/d。
内容的提问来源于stack exchange,提问作者Bill Lee
相关产品推荐
相关产品推荐

