PS1 长命令回到行首进行覆盖

本文介绍如何通过正确配置PS1变量来解决Linux Shell中命令过长导致的折行覆盖问题,并提供了一种可行的PS1设置示例。

linux shell 命令输入过长导致折行后的命令回到行首进行覆盖,第二行的时候又能自动换到下一行了,导致这个问题的原因是没有设置正确的 PS1 变量

  1. 家目录下打开 vim .bashrc 修改 PS1 变量

  2. 在bash中,所有在PS1中的非打印字符都必须用'\[\]'(不包括引号)将其包围起来,否则在计算提示符长度时也会将其计算在内,导致其无法正确地换行,也就出现了回到行首的情况

  3. 打印类字符如下:PS1 的常用参数如下
      
    \d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
      \H :完整的主机名称
      \h :仅取主机名中的第一个名字
      \t :显示时间为24小时格式,如:HH:MM:SS
      \T :显示时间为12小时格式
      \A :显示时间为24小时格式:HH:MM
      \u :当前用户的账号名称
      \v :BASH的版本信息
      \w :完整的工作目录名称
      \W :利用basename取得工作目录名称,只显示最后一个目录名
      # :下达的第几个命令
      $ :提示字符,如果是root用户,提示符为 # ,普通用户则为 $

  4. 非打印类字符:颜色的转义序列符就是非打印字符

  5. 我的设置如下:
    1042176-20180519151845921-528020070.png

PS1="\[\e[37;1m\][\[\e[31;1m\]\u \[\e[36;1m\]@ \[\e[33;1m\]\h \[\e[35;40m\]\W\[\e[37;1m\]] \[\e[33;1m\]\\$\[\e[0m\] "
  1. 效果图:
    1042176-20180519151654581-669994968.png

转载于:https://www.cnblogs.com/jcblog/p/9042072.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值