隐藏终端中的当前工作目录

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

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’打开它。

希望这可以帮助。 为我工作了。