将目录 cd 更改为另一个终端的 cwd

phy*_*ael 5 terminal bash macos

我想创建一个类似cd -(让我们称之为cdp)的命令,它将目录从另一个终端窗口更改为最后一个更改为的目录,类似于在前一个窗口/选项卡所在的目录中打开一个新终端的选项(我不在 Mac OS X 终端中看不到该选项)。

为此,我想我可以改变cd类似的东西alias cd='cd $1;echo $PWD > /tmp/CWD',然后添加

alias cdp='cd  `cat /tmp/CWD`
Run Code Online (Sandbox Code Playgroud)

有人可以输入更好的解决方案吗?或者,填写现有的程序、功能等,请告诉我。在 Mac OS X 10.6 上使用默认终端。谢谢。

Den*_*son 4

别名不接受参数。你必须使用一个函数。您还应该使用command内置的。

function cd () { command cd "$@"; echo "$PWD" > /tmp/CWD; }

alias cdp='cd "$(</tmp/CWD)"'
Run Code Online (Sandbox Code Playgroud)

请参阅OS X 特定的另一种方法。它是一个脚本,可以启动新的终端窗口或选项卡,其当前目录与当前终端窗口或选项卡的目录相同。