Linux shell编程学习笔记4:修改命令行提示符格式(内容和颜色)

一、命令行提示符格式内容因shell类型而异

Linux终端命令行提示符内容格式则因shell的类型而异,例如CoreLinux默认的shell是sh,其命令行提示符为黑底白字,内容为:

tc@box:/$

其中,tc为当前用户名,box为主机名,/为当前目录路径,$表示当前用户类型是普通用户 。 

二、环境变量PS1存储了命令行提示符格式内容

Linux中的环境变量PS1记录了当前命令行提示符的格式和内容,我们可以用echo命令来查看。

 例如:

tc@box:~$ echo $0

sh

tc@box:~$ echo $PS1

\u@\h:\w\$

在CoreLinux中,默认的shell是sh,它的默认格式是:\u@\h:\w\$,其中使用了很多转义字符,这些转义字符在命令行提示符中可以扩展为对应的系统参数,有各自的含义:

\u:扩展为当前用户名

\h:扩展为当前主机名(仅取主机的第一个名字)

\H :扩展为当前主机的完整名称

\w:扩展为完整的当前工作目录路径

\W:扩展为工作目录路径中的最后一个目录

\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
\t :扩展当前系统时间为24小时格式,如:HH:MM:SS
\T :扩展当前系统时间为12小时格式
\A :扩展当前系统时间为24小时格式:HH:MM
\v :扩展为当前shell的版本信息,有些shell不支持,例如sh
\# :扩展为下达的第几个命令
\$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$震

需要说明的是,并不是所有的shell都支持以上转义字符。

提示符这样设置的本义是充分利用命令行提示符的提示功能,让我们对自己所用的终端现状一目录了然,特别是\w,可以让我们直观地看到自己所在的工作目录,不用再输入pwd命令来查询当前工作目录了,这点在DOS上体现得特别明显。

三、通过环境变量$PS1改变命令行提示符内容

作为教学示例,有时我们不想显示自己系统的真实情况,比如用户名和主机名,那么我们可以使用export命令修改PS1的值来隐藏这些信息,例如:

tc@box:~$ export $PS1="user@myhost: \w $"

user@myhost: ~$

这样一来,不管我们的真实用户名和主机名是什么,从命令行提示符上看到的用户名就是user,主机名就是myhost,当前用户就是普通用户($).。

四、通过环境变量$PS1改变命令行提示符颜色

PS1中设置字符颜色的格式为:\[\e[F;Bm\] ……\e[m,其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47。颜色表如下:

F       B          颜色

30    40    黑色
31    41    红色
32    42    绿色
33    43    黄色
34    44    蓝色
35    45    紫色
36    46    青色
37    47    白色

最后的 \e[m 表示结束颜色设置。

根据颜色表,套用入字符颜色设置格式中,就可以对linux终端命令行颜色进行个性化设置了。

例如要设置命令行提示符颜色为紫色字体,青色背景, 从命令行提示符上看到的用户名就是user,主机名就是myhost,当前用户就是普通用户($),可以使用以下命令:

PS1="\[\e[F35;46\]user@myhost: \w $\e[m"

复制代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/147192.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Boot 技术架构图(InsCode AI 创作助手辅助)

Spring Boot 技术架构是一种用于构建现代应用程序的框架,它可以与各种前端、代理、网关、业务服务、中间件、存储、持续集成和容器服务集成在一起,以创建功能强大的应用程序。 源文件下载链接!!!!&#xff…

BASH shell脚本篇3——字符串处理

这篇文章介绍下BASH shell中的字符串处理的相关命令。之前有介绍过shell的其它命令,请参考: BASH shell脚本篇1——基本命令 BASH shell脚本篇2——条件命令 Bash字符串也是一种数据类型,它用于表示文本而不是数字,它是一组可能…

nginx-proxy反向代理流程

1.浏览器发送请求数据到nginx。 2.nginx先处理请求头,后处理请求体。 client_header_buffer_size #ginx可设置客户端上传header缓冲区大小 client_body_buffer_size #nginx可设置客户端上传数据缓冲区大小 client_body_t…

Tomcat Servlet

Tomcat & Servlet 一、What is “Tomcat”?二、 What is “Servlet”?1、HttpServlet2、HttpServletRequest3、HttpServletResponse 一、What is “Tomcat”? Tomcat 本质上是一个基于 TCP 协议的 HTTP 服务器。我们知道HTTP是一种应用层协议,是 HTTP 客户端…

(四)动态阈值分割

文章目录 一、基本概念二、实例解析 一、基本概念 基于局部阈值分割的dyn_threshold()算子,适用于一些无法用单一灰度进行分割的情况,如背景比较复杂,有的部分比前景目标亮,或者有的部分比前景目标暗;又比如前景目标包…

计算机网络笔记 第一章 概述

课程链接 https://www.bilibili.com/video/BV1c4411d7jb/?spm_id_from333.337.search-card.all.click 1.2 因特网概述 网络、互联网与因特网的区别与关系 若干节点和链路互相形成网络若干网络通过路由器互联形成互联网因特网是当今世界上最大的互联网 我们有时并没有严格区…

【mysql】—— 复合查询

前言: 在前面我已经讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够。因此,本期我将带大家学习的是关于 “ 复合查询” 的相关知识!!! 目录 (一)基本查询回顾 &a…

【Java 进阶篇】JDBC ResultSet 遍历结果集详解

在Java数据库编程中,经常需要执行SQL查询并处理查询结果。ResultSet(结果集)是Java JDBC中用于表示查询结果的关键类之一。通过遍历ResultSet,我们可以访问和操作从数据库中检索的数据。本文将详细介绍如何使用JDBC来遍历ResultSe…

SpringCloud Alibaba - Sentinel 限流规则(案例 + JMeter 测试分析)

目录 一、Sentinel 限流规则 1.1、簇点链路 1.2、流控模式 1.2.1、直接流控模式 1.2.2、关联流控模式 a)在 OrderController 中新建两个端点. b)在 Sentinel 控制台中对订单查询端点进行流控 c)使用 JMeter 进行测试 d)分…

10个与AI相关的技术领域

**10个与AI相关的技术领域** 除了与各个科学领域相关的具体挑战之外,AI在科学领域还存在一些共同的技术挑战。特别是,我们确定了以下四个共同的技术挑战:超出分布的泛化、可解释性、由自监督学习提供支持的基础模型和不确定性量化。尽管这些…

手把手教你做个智能加湿器(一)

一、前言 目前常见的加湿器类电子产品一般是由PCBA和外壳组成,我们将从PCB设计,然后编写软件,接着设计外壳,设计出一个完整的产品出来。 需要使用到软件: Altium Designer 17 SolidWorks 2019 Keil 4 二…

实用调试技巧

引言:一个完美的代码离不开程序员的调试,所谓三分编写七分调试,今天我们给大家介绍几种实用的调试技巧。 1️⃣Bug的由来: 原意是指,小虫子,昆虫等,而人们也通常将电脑程序中的一些隐藏的缺陷或…

JavaSE学习之--抽象类,接口,内部类

💕"没有眼泪我们就会迷路,彻底变成石头,我们的心会变成冰凌,吻会变成冰块。"💕 作者:Mylvzi 文章主要内容:JavaSE学习之--抽象类,接口,内部类 目录 一.抽象…

机器学习---BP算法

1. 多级网络 层号确定层的高低:层号较小者,层次较低,层号较大者,层次较高。 输入层:被记作第0层。该层负责接收来自网络外部的信息。 第j层:第j-1层的直接后继层(j>0)&#xff…

奥斯卡·王尔德

奥斯卡王尔德 奥斯卡王尔德(Oscar Wilde,1854年10月16日—1900年11月30日),出生于爱尔兰都柏林,19世纪英国(准确来讲是爱尔兰,但是当时由英国统治)最伟大的作家与艺术家之一&#xf…

27-动态代理和反射

参考视频链接 反射黑马教程 反射 反射初识 反射允许对封装类的字段,方法和构造函数的信息进行编程访问 它可以将一个类里面的方法和成员变量获取出来 反射是通过 class 文件中获取这字段,构造方法和成员方法,然后在从这三个当中进行解剖&…

燃气安全如何保障?万宾燃气管网监测系统时刻感知管网运行态势

近年来随着我国城镇化建设的加快,燃气已经成为每个家庭的必需品。然而,每年夏季频繁发生的燃气爆炸事故,已经严重危害人民生命财产安全危害社会公共安全和公共利益。为了保障燃气安全运行,近日,许多城市都在大力推进燃…

贪心算法+练习

正值国庆之际,祝愿祖国繁荣昌盛,祝愿朋友一生平安!终身学习,奋斗不息! 目录 1.贪心算法简介 2.贪心算法的特点 3.如何学习贪心算法 题目练习(持续更新) 1.柠檬水找零(easy&…

最新AI智能问答系统源码/AI绘画系统源码/支持GPT联网提问/Prompt应用+支持国内AI提问模型

一、AI创作系统 SparkAi创作系统是基于国外很火的ChatGPT进行开发的AI智能问答系统和AI绘画系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图…

电脑msvcp140丢失报错解决方法,msvcp140.dll重新安装的解决方法

msvcp140.dll丢失可能会导致一些基于Microsoft Visual C 编写的程序和游戏无法正常运行。msvcp140.dll是Microsoft Visual C Redistributable的一个组件,它包含了 C 运行时库,这些库在运行程序时会被加载到内存中。如果该文件丢失或损坏,程序…