linux bash技巧

在Linux中启动终端的任何人都熟悉默认的Bash提示符:


[ user @ $host ~ ] $ 

但是您知道这是完全可定制的并且可以包含一些非常有用的信息吗? 这里有一些隐藏的宝藏,可用于自定义Bash提示。

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的值在哪里设置?

PS1是常规环境变量。

系统默认值在/ etc / bashrc中设置 。 在我的系统上,默认提示设置为此行:


[ " $PS1 " = "\\s-\ \v \\ \$ " ] && PS1 = "[\u@\h \W]\ \$ " 

这将测试PS1的值是否为\ s- \ v $ (系统默认值),如果是,则将PS1的值设置为[\ u @ \ h \ W] \\ $

但是,如果要查看自定义提示,则不应编辑/ etc / bashrc 。 您应该将其添加到目录中的.bashrc

\ u,\ h,\ W,\ s和\ v是什么意思?

man bashPROMPTING部分中,您可以找到PS1PS2中所有特殊字符的描述。 以下是默认选项:

  • \ u :用户名
  • \ h :简短的主机名
  • \ W :当前工作目录的基本名称( 表示主目录,当前目录的末尾在其他位置)
  • \ s :Shell名称( bashsh ,取决于shell的调用方式)
  • \ v :shell的版本

提示中还可以使用其他哪些特殊字符串?

有许多有用的特殊字符串。

  • \ d :扩展为“ Tue Jun 27”格式的日期
  • \ D {fmt} :允许自定义日期格式-有关可用选项,请参见man strftime
  • \ D {%c} :给出当前语言环境的日期和时间
  • \ n :包括新行(请参见下面的多行提示)
  • \ w :当前工作目录的完整路径
  • \ H :当前计算机的完整主机名
  • \! :历史编号-您可以通过使用shell历史事件指示符以其历史编号运行任何先前的命令 然后是您感兴趣的特定命令的编号。(使用Linux历史记录是另一篇教程...)

还有许多其他特殊字符-您可以在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]$ "

要对此进行剖析:

  • \ [.. \]声明一些非打印字符
  • \ e [..是转义字符。 接下来是特殊的转义序列,用于更改终端中的颜色(或其他特征)
  • 31m为红色文字( 41m为红色背景)
  • 36m为青色文字
  • 1; 43m声明黄色背景( 1; 33m将为黄色文本)
  • \ [\ e [0m \]最后将颜色重置为终端默认值

您可以在Bash提示HOWTO中找到更多颜色和提示。 您甚至可以使文本反转或闪烁! 我不知道为什么地球上会有人想要这样做。 但是你可以!

您最喜欢的Bash提示自定义项是什么? 您看到哪些让您发疯的? 在评论中让我知道。

翻译自: https://opensource.com/article/17/7/bash-prompt-tips-and-tricks

linux bash技巧

linux bash技巧_Bash提示技巧和窍门相关推荐

  1. linux bash命令_Linux命令-您应该知道的基本Bash命令行技巧

    linux bash命令 Linux has a ton of commands, but most people only use a fraction of them. Here are some ...

  2. linux中感叹号的作用,感叹号在Linux bash中使用技巧

    1. 重复执行上一条指令  !! [root@iZ23t6nzr7dZ python]# ls /usr/local/ aegis bin etc games include lib lib64 li ...

  3. bash 脚本_Bash技巧:可以左右下移动和旋转俄罗斯方块的Shell脚本

    在 Linux bash 中,之前文章介绍过使用 k.j.h.l 键来上下左右移动单个方块的 shell 脚本. 下面继续介绍如何旋转单个方块. 执行效果 具体的执行效果如下: 旋转前的截图 移动并旋 ...

  4. Bash功能与使用技巧

    Bash功能与使用技巧 目录: 历史命令 命令别名 管道与重定向 常用快捷键 作业控制 花括号扩展 一个完整计算机的体系结构包括:硬件与软件,而软件又分为系统软件与应用软件,负责对硬件仅需管理与操作的 ...

  5. 一个linux提权用的技巧

    一个linux提权用的技巧,放出来攒RP了. OK,通常情况下,我们在执行bash脚本的时候,有一个执行过程,其中有一点比较重要:如果BASH_ENV被设置的话,它就会执行BASH_ENV指向的脚本 ...

  6. Linux下新手基本操作及技巧看图上路 (4)

    您总是可以通过注销当前用户标识,然后以新的用户标识登录来切换到另一个用户标识.但是如果您只需要以另一个用户身份运行几个快捷的命令,那要怎么办呢? Linux 以 su(替代用户,substitute ...

  7. BASH的保护性编程技巧

    BASH的保护性编程技巧 shell常用逻辑判断 -b file 若文件存在且是一个块特殊文件,则为真 -c file 若文件存在且是一个字符特殊文件,则为真 -d file 若文件存在且是一个目录, ...

  8. linux怎么运行g77,Linux安装g77编译器的技巧

    在Ubuntu10.10系统中,g77已经被gfortran完全替代了,但并不能完全兼容过去的g77,这样就不能使用一些用977编译的程序了.所以我们只能自己再安装g77了.今天华军小编给大家展示的是 ...

  9. Linux系统故障排查和修复技巧

    (一)单用户模式 Linux系统提供了单用户模式(类似Windows安全模式),可以在最小环境中进行系统维护.在单用户模式(运行级别1)中,Linux引导进入根shell,网络被禁用,只有少数进程运行 ...

最新文章

  1. Linux下 SpringBoot jar项目后台运行、查看、停用
  2. 以下关于单模光纤的说法中,正确的是( )
  3. 跟我一起学Redis之五种基本类型及其应用场景举例(干了6个小时)
  4. 优秀学生专栏——王浩
  5. Linux Kbuild文档 2
  6. VMware 安装LINUX系统(一)
  7. Understanding .NET Code Access Security
  8. idea安装配置tomcat
  9. 安装dubbo管理控制台
  10. Atitit webservice发现机制 WS-Discovery标准的规范attilax总结
  11. 电子-电路-电磁(一)阻抗匹配
  12. QT24A01 TNK以太网变压器
  13. java8新特性,stream流多种写法
  14. Qt5:报错error: 'tr' was not declared in this scop
  15. win7 系统装SQLServer2000 成功。
  16. 期末前端web大作业:餐饮美食网站设计与实现——餐厅响应式网站制作html+css+javascript+jquery+bootstarp
  17. win10同步服务器文件夹在哪,win10系统一键同步win 10文件夹视图的操作方法
  18. java中一个简单的涂鸦程序
  19. 优秀课程案例:使用Scratch的画笔积木模块绘制模拟内摆线!
  20. 获取页面高度 height scroll

热门文章

  1. 超级详细的手写webpack4配置来启动vue2项目(附配置作用)
  2. Xilinx Zynq-7000 嵌入式系统设计与实现
  3. 前端http请求跨域问题解决
  4. ORACLE 透明网关访问 MYSQL 表
  5. [deviceone开发]-doSpace应用源码开源
  6. [总结]FFMPEG视音频编解码零基础学习方法--转
  7. Mysql设置允许外网访问(图文)
  8. 分享一个 GIFControl 控件
  9. SQL Server数据库原理
  10. 用css 添加手状样式,鼠标移上去变小手,变小手