隐藏终端中的当前工作目录
默认情况下,终端提示符显示如下内容:
user@system:/folder1/folder2/folder3/folder4$
进入文件系统越深,输入命令的空间就越小。 我可以将其更改为仅显示以下内容:
>
我的意思是,我可以输入pwd
来显示我的位置。 ;)
export PS1='\u@\h: '
这导致了oli@bert:
我的提示。
如果你真的想要一些像你要求的极简主义的东西,试试这个:
export PS1='> '
您可以将它附加到~/.bashrc
文件的末尾,以使其在登录之间保持不变。
您还可以使用某些颜色进行创作。 这是我在服务器上使用的内容:
export PS1='\[\033[0;35m\]\h\[\033[0;33m\] \w\[\033[00m\]: '
给予(在全黑背景下更容易看到):
PS1中可接受字符的词汇表
只是为了扩展Oli的答案(以便我有这些短手符号的书签):
bash提示符( stefano@linux:~$
)只是您可能会看到的几个提示中的第一个:
-
PS1 :打开shell时看到的默认提示
它的值存储在名为
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
24小时 -
\d
日期(例如12月21日星期二) -
\e
‘逃脱’字符 -
\h
主机名(直到第一个“。”) -
\H
主机名 -
\j
当前正在运行的作业数量(ps) -
\l
当前tty -
\n
换行 -
\t
时间(hh:mm:ss) -
\T
时间(hh:mm:ss,12h格式) -
\r
回车 -
\s
Shell(即bash,zsh,ksh ..) -
\u
用户名 -
\v
Bash版本 -
\V
Full Bash发布字符串 -
\w
当前工作目录 -
\W
当前工作目录的最后一部分 -
\!
历史上的当前指数 -
\#
命令索引 -
\$
如果你是root的话是“#”,否则是“$” -
\\
Literal反斜杠 -
\@
时间(12h格式,上午/下午)
您当然可以插入任何文字字符串和任何命令:
export PS1="\u \$(pwd) > "
其中$(pwd)
代替“pwd的输出”。
- 如果命令替换被转义,如在
\$(pwd)
,则每次显示提示时都会对其进行评估,否则,如$(pwd)
,它仅在bash启动时评估一次。
如果您希望提示function颜色,可以使用bash的颜色代码来执行此操作。 代码由三部分组成:
40;33;01
-
分号前面的第一部分代表文本样式。
- 00 =无
- 01 =黑体
- 04 =下划线
- 05 =闪烁
- 07 =反向
- 08 =隐蔽
-
第二部分和第三部分是颜色和背景颜色:
- 30 =黑
- 31 =红色
- 32 =绿色
- 33 =黄色
- 34 =蓝色
- 35 =品红
- 36 =青色
- 37 =白色
假设从左侧开始,可以省略每个部分。 即“1”表示粗体,“1; 31”表示粗体和红色。 并且你可以通过使用\33[
转义指令使你的终端以彩色打印\33[
并以m
结尾。 33或hex的1B是ASCII符号“ESCAPE”(ASCII字符集中的特殊字符)。 例:
"\33[1;31mHello World\33[m"
用鲜红色打印“Hello World”。
另一种方法是在工作目录路径太长时缩短工作目录路径: 修剪终端命令提示符工作目录
创建一个小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即可
我经常想暂时这样做。 这是我做的:
$ 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
我希望这可以帮助别人。
帮助我的是:出口PS1 =’$’
为了在每次打开终端时都有这个,在.bashrc的末尾写下命令,你可以用’cd’后跟’gedit .bashrc’打开它。
希望这可以帮助。 为我工作了。