OS X Mountain Lion 终端选项卡名称 + 在同一目录中打开一个新选项卡

pla*_*pus 7 terminal bash osx-mountain-lion

1) 在 Mountain Lion 中,您可以通过 Preferences 更改终端的设置,以便在与打开选项卡相同的目录中打开一个新选项卡。(即,如果我在 ~/workspace 并打开一个新选项卡,则新选项卡将位于 ~/workspace)。

2) 同样在 Mountain Lion 中,可以通过 ~/.profile 中的以下指令让选项卡的标题自动反映当前目录的基本名称:

# automatically change the title of the terminal window to the directory basename
PROMPT_COMMAND='echo -n -e "\033]0;${PWD##*/}\007"'
Run Code Online (Sandbox Code Playgroud)

但是,这似乎也消除了终端在与打开选项卡相同的目录中打开新选项卡的能力。也就是说,有 2) 似乎使 1) 无效。有没有办法解决这个问题,让这两件事可以同时发生?

在此处输入图片说明

Dan*_*eck 11

默认PROMPT_COMMAND行为是在窗口标题中定义的,/etc/bashrc并以保留相同工作目录功能(作为URL)的方式将工作目录的路径添加到窗口标题,甚至允许通过单击标题栏浏览到祖先目录。file://Command

如果您还想将选项卡标题设置为工作目录的基本名称,则需要保留原始PROMPT_COMMAND. 在您选择的用户配置文件的 shell 初始化文件中,使用以下内容:

function set_tab_title {
  echo -n -e "\033]0;${PWD##*/}\007"
}

PROMPT_COMMAND="set_tab_title ; $PROMPT_COMMAND"
Run Code Online (Sandbox Code Playgroud)