user@system:/folder1/folder2/folder3/folder4$
您进入文件系统越深,输入命令的空间就越少。我可以将其更改为仅显示以下内容吗?
>
我的意思是,我可以键入
pwd
来显示自己的位置。 ;)#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
重新打开终端
评论
这应该是评论,但我不能评论,对不起。除了隐藏当前目录之外,以下PS1值还将在视觉上很好地分隔bash命令:export PS1 =“ \ n___”尝试了Oli的解决方案。彩色字体在终端中运行良好:export PS1 ='[\ 033 [0; 35m] \ h [\ 033 [0; 33m] \ w [\ 033 [00m]]:'