默认情况下,终端提示符显示如下内容:

user@system:/folder1/folder2/folder3/folder4$


您进入文件系统越深,输入命令的空间就越少。我可以将其更改为仅显示以下内容吗?

>


我的意思是,我可以键入pwd来显示自己的位置。 ;)

评论

这应该是评论,但我不能评论,对不起。除了隐藏当前目录之外,以下PS1值还将在视觉上很好地分隔bash命令:export PS1 =“ \ n___”

尝试了Oli的解决方案。彩色字体在终端中运行良好:export PS1 ='[\ 033 [0; 35m] \ h [\ 033 [0; 33m] \ w [\ 033 [00m]]:'

#1 楼

export PS1='\u@\h: '


这会在我的提示下显示oli@bert:

如果您确实想要一些简约的东西,请尝试以下操作:

export PS1='> '


您可以将其附加到~/.bashrc文件的末尾,以使其在两次登录之间保持不变。

您还可以使用一些颜色进行创意。这是我在服务器上使用的服务器:

export PS1='\[3[0;35m\]\h\[3[0;33m\] \w\[3[00m\]: '


给予(在黑色背景下更容易看到):



PS1中可接受字符的词汇表

评论


您还可以在提示中添加换行符(\ n),以便将所有信息和'>'放在单独的行中。

–ak2
2010-12-09 12:15

我首先在msysGit中遇到了这种“极端” shell定制,信不信由你。我立即被改造为重击世界。所有信息(我的当前目录,当前分支从Git存储库中签出,Git索引的状态...)都很棒。我计划对最近安装在旧笔记本电脑(以及Windows XP)上的Ubuntu安装进行类似的操作。

– dgw
2010-12-10在0:09

设置颜色时使用什么格式?

–拉基卜
2012年4月1日21:16

@SyedRakibAlHasan在终端中尝试echo -e“ \ e [31mHello World \ e [0m”]或echo -e“ \ 033 [31mHello \ e [0m World”],这应该为您提供了一个线索。资源

–达卡
19年3月29日在16:48



#2 楼

只是为了扩展Oli的答案(这样我就为这些速记符号添加了书签):

bash提示(stefano@linux:~$)只是几个提示中的第一个
可能会看到:



PS1:打开外壳时看到的默认提示

其值存储在名为PS1的环境变量中。要查看其值,



echo $PS1

这会给你类似的东西

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w$


要对其进行更改,可以为变量设置一个新值:

export PS1="\u > "


这将导致如下提示:

stefano > 


PS2:是您的辅助提示。当命令未完成时,将显示此内容。
键入echo "asd并按Enter,辅助提示符将允许您输入更多
行,直到关闭逗号为止。
PS3是用于select(2)
PS4是堆栈跟踪的提示(默认值:+

要使更改永久生效,请将其附加到.bash_profile(或.bashrc)的末尾问题)在您的主目录中。

下面是或多或少完整的速记列表,您可以在编写这些速记时使用:



\a'钟'字符

\A 24h时间

\d日期(例如Tue Dec 21)

\e'转义字符

\h主机名(最多第一个“。”)

\H主机名

\j当前正在运行的作业数(ps)

\l当前tty

\n换行

q4312079 q时间(hh:mm:ss)

\t时间(hh:mm:ss,12h格式)

\T回车

\r外壳(即bash,zsh,ksh ..)

\s用户名

\u Bash版本

\v完整的Bash发布字符串

\V当前工作目录

\w当前工作目录的最后一部分

\W历史中的当前索引

\!命令索引

\# **如果您是root用户,则为“#”,否则为“ $”。

$文字反斜杠

\时间(12h格式,上午/下午)

您当然可以插入任何文字字符串和任何命令:

export PS1="\u $(pwd) > "


\@代替“ pwd的输出”。


如果逃脱了命令替换(如$(pwd)),则每次显示提示时都会对其进行评估,否则,如$(pwd)一样,仅在bash启动时进行一次评估。

如果您希望您的提示具有颜色,可以使用bash的颜色代码来实现。该代码包括三个部分:

40;33;01




分号前的第一部分表示文本样式。


00 =无
01 =粗体
04 =下划线
05 =闪烁
07 =反向
08 =隐藏



第二和第三部分是颜色和背景色:


30 =黑色
31 =红色
32 =绿色
33 =黄色
34 =蓝色
35 =洋红色
36 =青色
37 =白色



假设从左边开始,每个部分都可以省略。即“ 1”表示粗体,“ 1; 31”表示粗体和红色。通过使用$(pwd)转义指令并以[结尾,可以使终端彩色打印。 33(即十六进制的1B)是ASCII符号“ ESCAPE”(ASCII字符集中的特殊字符)。示例:

"[1;31mHello World[m"


以亮红色打印“ Hello World”。

评论


我将export PS1 ='\ [\ 033 [1; 31m \] \ w \ [\ 033 [00m \] \ $>'添加到/etc/bash.bashrc中,但似乎没有改变...会议,但我似乎无法使其永久。

– Jared Tritsch
13年15月15日在21:10

#3 楼

另一种选择是在太长时缩短工作目录路径:修剪终端命令提示符工作目录。


创建一个小的python脚本,实现所需的修剪逻辑。

示例:〜/ short.pwd.py

import os
from commands import getoutput
from socket import gethostname
hostname = gethostname()
username = os.environ['USER']
pwd = os.getcwd()
homedir = os.path.expanduser('~')
pwd = pwd.replace(homedir, '~', 1)
if len(pwd) > 30:
    pwd = pwd[:10]+'...'+pwd[-20:] # first 10 chars+last 20 chars
print '[%s@%s:%s] ' % (username, hostname, pwd)


现在从端子上对其进行测试:

export PROMPT_COMMAND='PS1="$(python ~/.short.pwd.py)"'


如果您对结果满意,只需将命令附加到〜/ .bashrc


评论


例如...〜/ short.pwd.py,导出...〜/ .short.pwd.py我认为两者必须相同。您在两个地方都添加了一条额外的命令,或者根本不这样做。但这是一个很好的答案。

– MycrofD
17年4月19日在10:09

#4 楼

我经常想暂时这样做。这是我的工作:

$ export OLD_PS1=$PS1                    # save Long Prompt to OLD_PS1
$ export PS1="\u > "export PS1="\u $ "   # change to PS1 to Short Prompt
$ export PS1=$OLD_PS1                    # restore Long Prompt to PS1


我希望这会对某人有所帮助。

#5 楼

对于macOS用户:

open ~/.bash_profile


在文件末尾添加以下行并将其保存

export PS1='\u:\w$ '


主目录中的结果:

user: ~$


此处
用户的

当前工作目录的w
$提示显示

您可以尝试以下样式:

export PS1='$ '


只用$作为提示符,没有别的。
就像:

$ 


#6 楼

帮助我的是:export PS1 ='$'

为了每次打开终端时都具有此功能,请在.bashrc末尾编写命令,您可以通过'cd打开”,然后是“ gedit .bashrc”。

希望有帮助。为我工作。

#7 楼

在ubuntu 20.10中,我对主目录中的默认.bashrc文件执行了以下步骤。
0. cd ~
1. cp .bashrc .bashrc.bkpa
2. nano .bashrc
3. ctrl+w -> PS1
4. Change the PS1 block of code to the one below (I *AM* playing safe here)

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[3[01;32m\]\u@\h\[3[00m\]:\[3[00m\]$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:$ '
fi

5. save file, exit
6. source .bashrc 

重新打开终端