Golang:Chdir并在程序终止时留在那里

Golang:Chdir并在程序终止时留在那里,go,Go,在golang(以及bash脚本)中,如果我更改当前工作目录(使用os.Chdir),它会工作,但当程序终止时,工作目录会重置为程序启动时的位置 这是有道理的,但我想做的是一个智能磁盘导航器(类似于我们的老ncd,“Norton Change Directory”) 我如何告诉二进制文件(或启动它的shell,或其他)不要重置为以前的工作路径 我希望完全从Go二进制文件中实现这一点,而不修改.bashrc或.zshrc(用于可移植性)每个进程的工作目录都是进程私有的 您必须跳转循环才能实现这一点

在golang(以及bash脚本)中,如果我更改当前工作目录(使用os.Chdir),它会工作,但当程序终止时,工作目录会重置为程序启动时的位置

这是有道理的,但我想做的是一个智能磁盘导航器(类似于我们的老ncd,“Norton Change Directory”)

我如何告诉二进制文件(或启动它的shell,或其他)不要重置为以前的工作路径


我希望完全从Go二进制文件中实现这一点,而不修改.bashrc或.zshrc(用于可移植性)

每个进程的工作目录都是进程私有的

您必须跳转循环才能实现这一点。例如,您的程序可以从调用您的程序的脚本中编写脚本(文件),该脚本(文件)可以在程序终止后执行

另一种不太老套的方法是:

$ cd $(prog)

其中prog将新wd写入stdout。

您无法通过移植实现这一点。您需要与调用进程通信,在Go程序完成后,它也应该
chdir