从python脚本获取当前shell类型

Vik*_*iks 6 python bash shell

我的脚本设置了一些环境可怕,由Makefile使用,所以既然每个shell,bash(导出设置varriable)和tcsh(setenv),我需要得到正确的shell类型,从我们运行python的地方,我尝试使用$ SHELL varrriable,但它总是给我sh作为我的shell.

有没有办法,我可以从python脚本中获得正确的shell类型,或者它总是输出"SH"作为$ SHELL变量.

Dev*_*ops 5

对不起,把它从死里拿回来,但我自己做了。以下应该为您提供当前Shell的路径:

from os import environ
print(environ['SHELL'])
Run Code Online (Sandbox Code Playgroud)

您应该能够用要查找的任何环境变量替换shell。

  • 不起作用:我的shell设置为fish,当我在fish中启动bash时,SHELL仍设置为fish,它永远不会更改为bash,而不是exec bash,不是bash -c“ env | grep SHELL”或其他我可以考虑到 (2认同)