Windows Git Bash为调用的Python错误地设置了SHELL环境变量

2024-06-16 10:07:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我打开“gitbash”(Git版本2.21.0.windows.1)并打印SHELL env变量,它显示Bash。你知道吗

$ echo $SHELL
bash

但是对python(版本2或3)执行相同的操作会导致:

>>> import os
>>> print(os.environ['SHELL'])
C:\Users\serj\bash

出于某种原因,它会预先设置当前目录,结果是假的,因为那里没有bash。所有其他环境变量都正常。你知道吗

如果这是一个bug,我如何知道我应该向Python、git还是MSYS报告?常规的MSYS+python可以工作,所以在这个git包中似乎有些特别的东西。你知道吗


Tags: importgitecho版本envbashosenviron
1条回答
网友
1楼 · 发布于 2024-06-16 10:07:01
$ echo $SHELL
bash

这不正常。它应该是/usr/bin/bash。您的系统配置或启动gitbash的方式一定有问题。例如:

  • 快捷方式错误,使用不正确的环境启动快捷方式。(对我来说,它指向"C:\Program Files\Git\git-bash.exe" cd-to-home,当前目录是%HOMEDRIVE%%HOMEPATH%。)
  • 您在%USERPROFILE%中有一些自定义Bash启动脚本,它们覆盖了SHELL(例如,您还有Cygwin,并将其$HOME指向了您的%USERPROFILE%)。你知道吗
  • Git的MinGW环境中有一些自定义配置更改(例如在它的/etc),或者磁盘布局更改(例如自定义符号链接),或者在Windows级别设置环境变量来改变MinGW的行为。你知道吗

相关问题 更多 >