我不会是第一个问这个但我一直在努力解决这个googleing并且没有任何资源有用。我的问题很简单(解释),我想在终端应用程序的同一目录中打开一个新选项卡。现在,我打开的每个标签都在我的〜目录中打开。我也试过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
非常感谢您的帮助。
答案 0 :(得分:3)
所以,我遇到了这个问题,实际上已经解决了。我知道这篇文章已经过时了,但是如果对其他人有帮助,我会很高兴的。
我发现,如果主机名中包含空格,它将破坏终端随附的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$
好例子!
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$
如果您已经检查过Terminal > Preferences > General
中的设置正确。请看下面链接中的图片(我的代表不够高,无法嵌入图片)。您希望将New tabs open with:
部分设置为Same Profile
和Same Working Directory
如果终端主机名中有空格,我认为您的问题与我的相同,这就是我解决的方法。在终端中输入以下命令,其中"Name-With-No-Spaces"
部分位于其中,并带有您选择的名称不带空格!。
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
完成所有这些操作后,您需要重新启动Mac。希望最后,您将解决您的问题。我经历了数月的挖掘工作,并多次浏览了这篇文章,我觉得这个问题最准确地描述了我正在经历的事情。
答案 1 :(得分:1)
我遇到了这个问题,发现问题出在我在.zshrc中设置的随机zsh主题中。将主题设置为特定值后,将在同一目录中打开新选项卡。
答案 2 :(得分:0)
PS1
的引用部分仅供我在同一文件夹中打开标签。 grgarside在 How to open a new Terminal tab in current working directory? 中的回答表明某些内容可能已经改变PROMPT_COMMAND
;例如在virtualenvwrapper.sh
脚本中。
解决此问题的一种简单方法是从更简单 .bash_profile
开始(首先为空,以验证open-with-same-pwd功能是否有效),然后添加部件以查看是什么打破了它。