我想构建一个python脚本,该脚本可以操纵其调用bash shell的状态,尤其是开头的工作目录。
使用os.chdir
或os.system("ls ..")
,您只能更改解释器的路径,但是我如何才能将注释更改应用于脚本调用者?
谢谢您的提示!
答案 0 :(得分:4)
您不能直接通过python来执行此操作,因为子进程永远无法更改其父进程的环境。
但是您可以从您的shell创建一个 source 的shell脚本,即它在同一进程中运行,在该脚本中,您将调用python并将其输出用作名称。 cd
的目录:
/home/choroba $ cat 1.sh
cd "$(python -c 'print ".."')"
/home/choroba $ . 1.sh
/home $