博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux shell 提示符
阅读量:6078 次
发布时间:2019-06-20

本文共 2123 字,大约阅读时间需要 7 分钟。

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

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\$ 'fiunset color_prompt force_color_prompt# If this is an xterm set the title to user@host:dircase "$TERM" inxterm*|rxvt*)    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"    ;;*)    ;;esac

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

 

转载于:https://www.cnblogs.com/tid-think/p/10962243.html

你可能感兴趣的文章
函数是对象-有属性有方法
查看>>
uva 10107 - What is the Median?
查看>>
Linux下基本栈溢出攻击【转】
查看>>
c# 连等算式都在做什么
查看>>
使用c:forEach 控制5个换行
查看>>
java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试...
查看>>
使用ansible工具部署ceph
查看>>
linux系列博文---->深入理解linux启动运行原理(一)
查看>>
Android反编译(一) 之反编译JAVA源码
查看>>
结合当前公司发展情况,技术团队情况,设计一个适合的技术团队绩效考核机制...
查看>>
python-45: opener 的使用
查看>>
cad图纸转换完成的pdf格式模糊应该如何操作?
查看>>
Struts2与Struts1区别
查看>>
网站内容禁止复制解决办法
查看>>
Qt多线程
查看>>
我的友情链接
查看>>
想说一点东西。。。。
查看>>
css知多少(8)——float上篇
查看>>
NLB网路负载均衡管理器详解
查看>>
水平添加滚动条
查看>>