这使得我很难知道我在哪个目录中。我为学校安装了一个版本的python,现在它说-bash-3.2$
而不是MyMacbook: ~$
。我确信这真的很简单,但我对终端/bash/shell一无所知。我仍然可以,cd ~/Desktop
但它只是说-bash-3.2$
而不是MyMacbook: ~Desktop $
。
答案1
其他人已经有很多机会提到这个房间里的大象,因此这里就是:
PS1
Bourne Again Shell 中的提示符由、PS2
、PS3
和变量的值控制PS4
。这里相关的是 变量PS1
。它尚未设置,因此 Bourne Again Shell 将显示其默认提示符,即提示符字符串 的扩展\s-\v\$
。
可以通过设置变量来实现所需的提示:
PS1='\h:\w\$'
至少有两种情况可能会导致您陷入这种情况。第一种情况72DFBF5B A0DF5BE9
,即您突然开始使用 Bourne Again Shell,而之前使用的是 Tenex C Shell。Tenex C Shell 使用不同的变量(prompt
、prompt2,
和prompt3
)来控制显示为提示符的内容,并且具有不同的 rc 文件。
您想要的提示符可以在 Tenex C Shell 中通过如下方式设置变量来实现:
设置提示='%m: %~%$'
~/.tcshrc
它将在您的(或/etc/csh.cshrc
或或……)脚本中设置~/.login
。当然,调用 Bourne Again Shell 不会发现这一点。因此,答案是返回到您之前使用的 shell。
另一种情况是,您确实使用了 Bourne Again Shell,并在(或或或……)脚本中heiglandreas
设置了一个变量。然后某些东西打乱了该脚本,或者只是简单地重命名/删除了该脚本。在这种情况下,答案是解开脚本,以便它再次在交互式 shell 中设置。PS1
~/.bashrc
/etc/profile
~/.profile
PS1
第三种可能性是,您的变量是在而不是 在 中PS1
设置的,它没有被编辑,并且您从登录 shell 调用了辅助 shell。在这种情况下,答案是退出辅助 shell,或者确保您的 shell 提示符是在为登录和非登录 shell 运行的 rc 文件中设置的,而不是在仅为登录 shell 运行的 rc 文件中设置的。~/.profile
~/.bashrc
export
为了完整起见,我将提到 Mac OS 10 上常用的另一个 shell:Z Shell。它使用与 Bourne Again Shell 相同的变量,并支持许多百分比样式转义序列Tenex C Shell。
通过在 Z Shell 中设置变量,可以实现所需的提示:
PS1='%m: %~%#'
~/.zshrc
这将在(或~/.zprofile
或/etc/zprofile
或/etc/zshrc
或...)脚本 中设置。
我提到这一点是为了强调这一点:Mac OS 10 上有多个 shell 可供使用,它们都有单独的 rc 文件集,它们的提示变量并不相同,并且这些提示变量可以在每个 shell 中的多个 rc 文件之一中设置。因此,您必须阅读 shell 手册并找出哪个 rc 文件已损坏,或者您之前使用过哪个 shell 并且应该返回,或者您是否只是调用了一个子 shell 而没有以子 shell 可以看到的方式设置您的提示变量。
进一步阅读
- “Bourne Shell 变量”。Bash 参考手册. 自由软件基金会。
- “控制提示”。Bash 参考手册. 自由软件基金会。
- 重击(1). Mac OS 10 手册页。Apple 公司。
- tcsh(1). Mac OS 10 手册页。Apple 公司。
- zsh参数(1). Mac OS 10 手册页。Apple 公司。
- zshmisc(1). Mac OS 10 手册页。Apple 公司。
答案2
Mac OS X 10.0 到 10.2.8 中使用的默认 shell(或命令行界面)是tcsh
。
从终端菜单打开“偏好设置”,单击“启动”选项卡
在“打开的 Shell”下,选择“命令(完整路径)”并设置新的 Shell
然后"chsh -s /bin/tcsh
在框中输入“
或者打开终端应用程序,然后:
- 从终端菜单中选择“首选项”。
- 选择选项“执行此命令(指定完整路径):”,然后写入
/bin/tcsh