Terminal.app中的新选项卡未在同一目录中打开/bash失败(Mountain Lion)

Terminal.app中的新选项卡未在同一目录中打开/bash失败(Mountain Lion),bash,terminal,osx-mountain-lion,Bash,Terminal,Osx Mountain Lion,基本问题:当我在terminal中打开一个新选项卡时,bash失败并输出以下错误: bash: -c: line 0: syntax error near unexpected token `(' bash: -c: line 0: `exec -la (null) (null) -1' [Process completed] 在“首选项”中,我将新选项卡设置为使用相同的设置/目录打开 我一直在学习自定义bash提示符区域,实际上是为了解决这个问题,但没有效果。在我意识到我应该由用户来做这件

基本问题:当我在terminal中打开一个新选项卡时,bash失败并输出以下错误:

bash: -c: line 0: syntax error near unexpected token `('
bash: -c: line 0: `exec -la (null) (null) -1'

[Process completed]
在“首选项”中,我将新选项卡设置为使用相同的设置/目录打开

我一直在学习自定义bash提示符区域,实际上是为了解决这个问题,但没有效果。在我意识到我应该由用户来做这件事之前,我把/etc/bashrc搞乱了,我已将该文件重置为如下所示:

# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
  return
fi

PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
# Tell the terminal about the working directory at each prompt.
if [ "$TERM_PROGRAM" == "Apple_Terminal" ] && [ -z "$INSIDE_EMACS" ]; then
   update_terminal_cwd() {
       # Identify the directory using a "file:" scheme URL,
       # including the host name to disambiguate local vs.
       # remote connections. Percent-escape spaces.
       local SEARCH=' '
       local REPLACE='%20'
       local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
       printf '\e]7;%s\a' "$PWD_URL"
   }
   PROMPT_COMMAND="update_terminal_cwd; $PROMPT_COMMAND"
fi
source /etc/bashrc

export PATH=~/Code:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin.

export CLASSPATH=~/Programs/:~/Programs/bailey.jar:~/Programs/labs/:.
export PYTHONPATH=~/dm/:~/Code/Git/.:.
最后,我的~/.bash_配置文件如下所示:

# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
  return
fi

PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
# Tell the terminal about the working directory at each prompt.
if [ "$TERM_PROGRAM" == "Apple_Terminal" ] && [ -z "$INSIDE_EMACS" ]; then
   update_terminal_cwd() {
       # Identify the directory using a "file:" scheme URL,
       # including the host name to disambiguate local vs.
       # remote connections. Percent-escape spaces.
       local SEARCH=' '
       local REPLACE='%20'
       local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
       printf '\e]7;%s\a' "$PWD_URL"
   }
   PROMPT_COMMAND="update_terminal_cwd; $PROMPT_COMMAND"
fi
source /etc/bashrc

export PATH=~/Code:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin.

export CLASSPATH=~/Programs/:~/Programs/bailey.jar:~/Programs/labs/:.
export PYTHONPATH=~/dm/:~/Code/Git/.:.

如果有人能给我任何建议,那就太好了。

我也有这个问题,并且发现我不小心更改了终端首选项的“启动”选项卡中的设置。设置为“shell打开方式:命令(完整路径):”

我把它改回“Shells open with:Default login shell”,这就解决了问题。

只是更新了(已经非常有用的)线程:我正在运行Terminal 2.5,现在有一个名为“New windows open with:”

“相同的工作目录”

应该选择有利于


“默认工作目录”。

看起来像是
update\u terminal\u cwd()
正在抛出错误。您试图调用的函数是什么?@thecolorys您知道转义序列是什么吗
\e]7是什么?对我来说,它会清空控制台上的所有输入/输出,直到shell收到一个
Enter
键。您是否正在尝试将
printf
的输出着色?@AtlasWegman我不知道该函数的作用。bashrc文件与我更改任何内容之前的方式完全相同,因此该方法的唯一定义方式是OSX本身,或者通过安装某个决定它有理由编辑该文件的东西。@Samveen我不确定它打算做什么。同样,这也是我开始编辑颜色之前文件的样子——我的.bash\u配置文件中有一行设置了终端的外观,使其符合我的要求:
export PS1=“\[\e]2;\w\a\e[33;40m\]\w>\[\e[0m\]”
,它将完整的pwd打印到终端窗口的标题和我当前所在目录的名称上,后跟黄色的>。@我认为解决问题的最佳方法是逐行注释/取消注释。由于所有依赖于系统的信息,我(或其他人)很难进行测试(路径、脚本等)非常感谢!这正是问题所在。