本文共 2028 字,大约阅读时间需要 6 分钟。
linux bash技巧
在Linux中启动终端的任何人都熟悉默认的Bash提示符:
[ user @ $host ~ ] $
但是您知道这是完全可定制的并且可以包含一些非常有用的信息吗? 这里有一些隐藏的宝藏,可用于自定义Bash提示。
Bash提示由环境变量PS1 (提示字符串1)设置,该变量用于交互式shell提示。 还有一个PS2变量,当需要更多输入来完成Bash命令时使用该变量。
[ dneary @ dhcp- 41 - 137 ~ ] $ export PS1 = "[Linux Rulez]$ " [ Linux Rulez ] export PS2 = "... " [ Linux Rulez ] if true ; then ... echo "Success!" ... fi Success !
PS1是常规环境变量。
系统默认值在/ etc / bashrc中设置 。 在我的系统上,默认提示设置为此行:
[ " $PS1 " = "\\s-\ \v \\ \$ " ] && PS1 = "[\u@\h \W]\ \$ "
这将测试PS1的值是否为\ s- \ v $ (系统默认值),如果是,则将PS1的值设置为[\ u @ \ h \ W] \\ $ 。
但是,如果要查看自定义提示,则不应编辑/ etc / bashrc 。 您应该将其添加到主目录中的.bashrc 。
在man bash的PROMPTING部分中,您可以找到PS1和PS2中所有特殊字符的描述。 以下是默认选项:
有许多有用的特殊字符串。
还有许多其他特殊字符-您可以在Bash手册页的PROMPTING部分中看到完整列表。
如果使用更长的提示(例如,如果包含\ H或\ w或完整的日期时间 ),则可能需要将内容分成两行。 这是多行提示符的示例,其中日期,时间和当前工作目录位于一行, 用户名@hostname位于第二行:
PS1 = "\D{%c} \w \n [\u@\H]$ "
人们偶尔要做的一件事就是创建丰富多彩的提示。 当我发现它们令人讨厌和分散注意力时,您可能会喜欢它们。 例如,要将上面的日期时间更改为以红色文本显示,以青色显示目录,并在黄色背景上显示您的用户名,您可以尝试以下操作:
PS1 = "\[\e[31m\]\D{%c}\[\e[0m\] \[\e[36m\]\w\[\e[0m\] \n [\[\e[1;43m\]\u\[\e[0m\]@\H]$ "
要对此进行剖析:
您可以在找到更多颜色和提示。 您甚至可以使文本反转或闪烁! 我不知道为什么地球上会有人想要这样做。 但是你可以!
您最喜欢的Bash提示自定义项是什么? 您看到哪些让您发疯的? 在评论中让我知道。
翻译自:
linux bash技巧
转载地址:http://hyjzd.baihongyu.com/