修改OS X终端中的Bash提示符前缀

时间:2014-10-07 06:09:31

标签: bash macos terminal

我有一个大规模的提示,在每行输入命令的同一行上使用我的终端空间“ name s-MacBook-Pro”。

有没有办法可以删除它或缩短它?

1 个答案:

答案 0 :(得分:81)

您的提示由环境变量PS1设置。这由/private/etc/bashrc中的系统设置,但通常由用户在您的主目录中的dotfiles中进行修改。

使用此命令检查当前设置的内容:

echo $PS1

通过在~/.bash_profile(或之前定义的任何地方)中设置变量来修改它:

export PS1="$"

通过执行以下操作重新加载点文件中的设置:

source ~/.bash_profile

这将使您的新shell提示只是$


提示变量

  • PS1:主提示字符串。默认值为\s-\v\$ .
  • PS2:辅助提示字符串。默认值为>
  • PS3:提示select命令
  • PS4:在执行跟踪期间Bash显示的每个命令之前打印。必要时,会复制PS4的第一个字符多次,以指示多个间接级别。默认值为+

语法(来自Bash manual

\a : An ASCII bell character (07)
\d : The date in “Weekday Month Date” format (e.g., “Tue May 26”)
\D{format} : the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required
\e : An ASCII escape character (033)
\h : The hostname up to the first ‘.’
\H : The hostname
\j : The number of jobs currently managed by the shell
\l : The basename of the shell's terminal device name
\n : Newline
\r : Carriage return
\s : The name of the shell, the basename of $0 (the portion following the final slash)
\t : The current time in 24-hour HH:MM:SS format
\T : The current time in 12-hour HH:MM:SS format
\@ : The current time in 12-hour am/pm format
\A : The current time in 24-hour HH:MM format
\u : The username of the current user
\v : The version of Bash (e.g., 2.00)
\V : The release of Bash, version + patch level (e.g., 2.00.0)
\w : The current working directory, with $HOME abbreviated with a tilde
\W : The basename of the current working directory, with $HOME abbreviated with a tilde
\! : The history number of this command
\# : The command number of this command
\$ : If the effective UID is 0, a #, otherwise a $
\nnn : the character corresponding to the octal number nnn
\\ : A backslash
\[ : Begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt
\] : end a sequence of non-printing characters