当我们打开或者登陆到一个终端的时候都会显示一长串提示符

void@void-ThinkPad-E450:~$

提示符一般包含当前登陆的用户名 ,主机名,以及当前工作路径路径,最后都是以 $ 或者 # 号结束,普通用户以 $ 号结束,只有root用户以 #结束。

因为包含了当前工作路径,所以当我们切换工作路径的时候,提示符也是会变化的,当我们切换到一个很深层次的路径或者目录名称很长很长的时候提示符也会变得很长,导致我们需要输入command的时候输入光标已经到了终端最右边。

void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$ 

我们 可以通过改变PS1变量来控制主提示符的内容,PS1是一个bash的内建变量,使用echo 可以看到PS1的定义

void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$
\d        用”Week Month Date"的格式显示日期
\H 主机名
\u 当前用户的用户名
\t     用"HH:MM:SS"的24小时格式显示当前时间
\v     bash 的版本号
\w 当前工作目录
\$ 如果当前是root用户则显示字符#,否则西那时字符$

我们可以通过改变变量PS1的值来改变提示符的显示内容

 void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$ echo $PS1
 \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
 void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$

void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$PS1='\u@\h\$'
void@void-ThinkPad-E450$

 void@void-ThinkPad-E450$cd ../../../
 void@void-ThinkPad-E450$pwd
 /home/void/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia
 void@void-ThinkPad-E450$

PS1='\u@\h\$'

以上 命令将 主提示符设置成只显示用户名@主机名$,这样切换工作路径到任何地方都不会影响主提示符的显示,但是这种设置方法只对当前终端有效,如果要对当前用户有效则需要修改~/.bashrc

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac

修改最后一个 PS1的定义保存退出。

linux shell 提示符的更多相关文章

  1. 【linux】linux shell 日期格式化

      获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以 ...

  2. 1 、Linux-Rhel6终端介绍-Shell提示符

    1.Linux 终端介绍 tty-控制台终端: RHEL6 tty1-tty6  tty就是图形界面 从图形界面切换到字符界面: ctrl+shift+alt +F2~F6 从字符界面切换图形或字符: ...

  3. Linux Shell系列教程之(十四) Shell Select教程

    本文是Linux Shell系列教程的第(十四)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上一篇文章:Linux Shell系列教程之(十三)Shell分支语句case ...

  4. Linux命令行–初识Linux shell

    shell及脚本简介  GNU/Linux shell 是个交互工具,它为用户提供了启动程序.管理文件系统上的文件以及管理运行在Linux系统上的进程的途径 . shell的核心是命令行提示符 它是s ...

  5. Linux Shell脚本攻略 读书笔记

    Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝:最有价值的当属文本处理,对这块我单独整 ...

  6. Linux Shell 工作原理

    Linux系统提供给用户的最重要的系统程序是Shell命令语言解释程序.它不属于内核部分,而是在核心之外,以用户态方式运行.其基本功能是解释并执行用户打入的各种命令,实现用户与Linux核心的接口.系 ...

  7. linux shell 常用基本语法

    转自网络,真正来源不详.... 一. Linux基本命令 1.1.  cp命令 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,功能十分强大. 语法: cp [选项] 源文件或目录 目标文件或 ...

  8. (linux shell)第一章--小试牛刀(上)

    来源:(linux shell)第一章--小试牛刀(上) 从今天開始,我们一起来学习<linux shell脚本攻略>这本书. 1.1简单介绍 shell脚本一般是一个以#!起始的文本文件 ...

  9. linux shell获取时间

    获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用 ...

随机推荐

  1. Java数学函数的使用

    Java的Math类中提供了一系列关于数学运算的静态方法,常见的运算整理如下[1] 算数运算 Math.sqrt() // 平方根 Math.cbrt() // 立方根 Math.pow(a, b) ...

  2. PHP中的PDO操作学习(三)预处理类及绑定数据

    要说 PDO 中最强大的功能,除了为不同的数据库提供了统一的接口之外,更重要的就是它的预处理能力,也就是 PDOStatement 所提供的功能.因为它的存在,才让我们可以安心地去使用而不用操心 SQ ...

  3. Centos8.X 搭建Prometheus+node_exporter+Grafana实时监控平台

    Prometheus Promtheus是一个时间序列数据库,其采集的数据会以文件的形式存储在本地中,因此项目目录下需要一个data目录,需要我们自己创建,下面会讲到 下载 下载好的.tar.gz包放 ...

  4. Shell系列(23)- 字符截取命令sed

    简述 字符替换命令sed 和vi功能相似,但是vi是给用户用的,sed是给脚本用的 sed是一种几乎包括在所有的UNIX平台(包括Linux)的轻量级流编辑器.s sed主要是用来将数据进行选取.替换 ...

  5. 鸿蒙内核源码分析(中断概念篇) | 海公公的日常工作 | 百篇博客分析OpenHarmony源码 | v43.02

    百篇博客系列篇.本篇为: v43.xx 鸿蒙内核源码分析(中断概念篇) | 海公公的日常工作 | 51.c.h .o 硬件架构相关篇为: v22.xx 鸿蒙内核源码分析(汇编基础篇) | CPU在哪里 ...

  6. logback日志入门超级详细讲解

    基本信息 日志:就是能够准确无误地把系统在运行状态中所发生的情况描述出来(连接超时.用户操作.异常抛出等等): 日志框架:就是集成能够将日志信息统一规范后输出的工具包. Logback优势 Logba ...

  7. 深入理解JAVA虚拟机《二》

    对象.内存回收和垃圾收集算法 一.引用计数算法(不可靠) 现在很多比较普遍的判断对象是否存活的算法就是引用计数算法,其大概原理是:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当 ...

  8. 如何利用Prometheus监控你的应用(此列子是对于golang sdk进行运用)

    Prometheus作为一套完整的开源监控接近方案,因为其诸多强大的特性以及生态的开放性,俨然已经成为了监控领域的事实标准并在全球范围内得到了广泛的部署应用.那么应该如何利用Prometheus对我们 ...

  9. 枚举类型(enum)

    关于枚举 枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性.安全 ...

  10. NXOpen.CAM.CAMSetup.CopyObjects的使用

    复制CAM对象 Public Function CopyObjects(ByVal view As NXOpen.CAM.CAMSetup.View, ByVal objectsToBeMoved() ...