osx终端在同一目录中的新标签

pyp*_*ypy 5 macos terminal tabs

我不会成为第一个提出这个问题的人,但是我一直在努力解决这一问题,并且没有任何资源有用。我的问题很简单(解释),我想在终端应用程序的同一目录中打开一个新选项卡。现在,我打开的每个选项卡都在我的〜目录中打开。我也尝试过使用iTerm2,但仍然是同样的问题。这是我的.bash_profile:

# Git configuration
parse_git_branch() {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1) /'
}

# Command line prompt
PS1='[\t] \[\e[0;32m\]\u@\h\[\e[m\]:\w \[\e[0;34m\]$(parse_git_branch)\[\e[m\]> '

# virtualenvwrapper
source /usr/local/bin/virtualenvwrapper.sh

# alias for mysql
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
alias mysqlstart='sudo /usr/local/mysql/support-files/mysql.server start'
alias mysqlstop='sudo /usr/local/mysql/support-files/mysql.server stop'

export PATH=$PATH:/usr/local/mysql/bin
Run Code Online (Sandbox Code Playgroud)

非常感谢您的提前帮助。

Aar*_*ins 7

所以,我遇到了这个问题,实际上只是解决了它。我知道这篇文章很旧,但如果它对其他人有帮助,我会很高兴。

我发现如果您的主机名中有空格,则会破坏New tab in the same directory终端附带的功能。

这里有几个例子。我的.bash_profile提示已被编辑并稍微更改了提示的外观,因此每个提示都有两个示例。你会想要专注于Kippins MacBook Pro一部分。这不应该有空格!

不好的例子!

Last login: Sat Oct 19 22:59:36 on ttys004
kippins@Kippins MacBook Pro:~$

Last login: Sat Oct 19 23:06:32 on ttys000
Kippins MacBook Pro:~ kippins$ 
Run Code Online (Sandbox Code Playgroud)

好例子!

Last login: Sat Oct 19 22:59:36 on ttys004
kippins@Kippins-MacBook-Pro:~$

Last login: Sat Oct 19 23:06:32 on ttys000
Kippins-MacBook-Pro:~ kippins$ 
Run Code Online (Sandbox Code Playgroud)

如果您已经检查过您的设置是否Terminal > Preferences > General正确。请参阅下面链接中的图片(我的代表不够高,无法嵌入图片)。您希望New tabs open with:将部分设置为Same ProfileSame Working Directory

正确的终端设置

如果您的终端主机名中有空格,我认为您的问题与我的问题相同,这是我修复它的方法。在终端中输入以下命令,其中"Name-With-No-Spaces"部分用您选择的名称替换,不带空格!为此,您需要 root 访问权限。

sudo scutil --set ComputerName "Name-With-No-Spaces"
sudo scutil --set LocalHostName "Name-With-No-Spaces"
sudo scutil --set HostName "Name-With-No-Spaces"
dscacheutil -flushcache
Run Code Online (Sandbox Code Playgroud)

完成所有这些操作后,您需要重新启动 Mac。希望您最终能够解决您的问题。我经历了几个月的挖掘,并多次看到这篇文章,我觉得这个问题最准确地描述了我所经历的事情。


Tho*_*key 2

只是引用的部分PS1适用于我在同一文件夹中打开选项卡。grgarside 在如何在当前工作目录中打开新的终端选项卡?表明某些事情可能已经改变PROMPT_COMMAND;例如在virtualenvwrapper.sh脚本中。

解决此问题的一个简单方法是从更简单的 .bash_profile开始(首先为空,以验证 open-with-same-pwd 功能是否有效),然后添加部件以查看是什么破坏了它。