用Nodejs改变bashterminal的当前工作目录

我想要开发一个Node CLI应用程序,它可以将git repo和cd复制到其中。

例如。

dummyuser:~$ dummy-cli-command dummy-git-repo-url Cloning repository... dummyuser:~/Workspace/dummy-git-repo$ 

我能克隆它,但不能cd进去。 我知道节点分支了一个subprocess,在这个进程下它执行我的代码,并且没有办法改变我首先执行我的node-cli-command的bashterminal的目录。 任何人都可以帮我解决任何问题吗?

你将无法做到这一点 – 而不是与节点,而不是与任何其他程序。 你甚至不能用shell脚本来做,尽pipe你可以用shell别名或者函数来做,但是只有当它不是作为一个subprocess运行的时候。

这意味着如果Node程序将正确的目录返回到运行它的shell别名或shell函数,那么您可能可以实现这一目标,并且它是目录更改的别名或函数。 如果通过命令行参数获取它,那么别名或函数可以首先知道目的地。 但是,如果你使用shell函数,那么你不需要Node首先克隆回购。

底线是你不能从一个subprocess改变你的shell的工作目录,所以你唯一的select就是通过在同一个进程中运行代码,比如shell中的别名或者函数。