linux ps1(linux echo)
大家好,感谢邀请,今天来为大家分享一下linux ps1的问题,以及和linux echo的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
Linux终端提示符PS1设置
linux终端提示符默认如下显示效果
这里主要想在终端提示这里看到登录用户、服务器ip和绝对路径,如下显示:
这里主要通过PS1变量来进行设置
ps1默认为 [\u@\h \W]\$
各提示符的含义如下:
由此可知,默认显示当前用户、主机的第一个名字、当前工作目录
可以将PS1修改为如下:
上面还包含提示符颜色的设置,具体可以参考 PS1设置
如果想PS1的设置永久有效,可以在/etc/profile或.bashrc文件里进行设置,然后打开一个新的终端就会看到新设置的提示符生效了。
但是这里可能会发现,主机名显示的不是ip,显示如下:
原因是这里的hostname不是ip
因为需要修改hostname,提供一个快速永久修改hostname的方法
这时hostname就改成主机的ip了,
重新打开终端后就变成了想要的终端提示符
关于linux的 PS2、PS3、PS4可以参考 linux下PS1、PS2、PS3、PS4最全详解
虚拟机Linux的/etc/profile怎么恢复更改前的
Linux系统下/etc/profile这个文件是每个用户登录时都会运行的环境变量设置,该文件初始的脚本信息是相同的,可以自己新建一个该文件,然后写入下面代码:
如果是删除的admin用户下该文件
suadmin#切换到admin用户
vim/etc/profile#新建一个配置文件
#写入一下脚本即可
#/etc/profile:system-wide.profilefilefortheBourneshell(sh(1))
#andBournecompatibleshells(bash(1),ksh(1),ash(1),...).
if["$PS1"];then
if["$BASH"]&&["$BASH"!="/bin/sh"];then
#Thefilebash.bashrcalreadysetsthedefaultPS1.
#PS1='\h:\w\$'
if[-f/etc/bash.bashrc];then
./etc/bash.bashrc
fi
else
if["`id-u`"-eq0];then
PS1='#'
else
PS1='$'
fi
fi
fi
#Thedefaultumaskisnowhandledbypam_umask.
#Seepam_umask(8)and/etc/login.defs.
if[-d/etc/profile.d];then
foriin/etc/profile.d/*.sh;do
if[-r$i];then
.$i
fi
done
unseti
fi
#然后!wq保存文件即可。
linux中set PS1="[\u\w\t]\\$",export PS1是什么意识
这句话的作用是改变你的提示符显示格式,分别显示用户名,目录,时间
PS1:命令行提示符环境变量
下面是PS1变量中各特殊符号的含义:
\a显示系统日期,格式:星期日期
例:PS1="\d>"结果:六 10月 24>
\A显示系统时间,格式:HH:MM
例:PS1="\A>"结果:21:04>
\t显示系统时间,格式:HH:MM:SS(24小时制)
例:PS1="\t>"结果:21:04:32>
\T显示系统时间,格式:HH:MM:SS(12小时制)
例:PS1="\T>"结果:09:04:32>
\h显示主机名称(简称)
例:PS1="\h>"结果:CentOS>
\H显示主机名称(全称)
例:PS1="\H>"结果:CentOS.localdomain>
注:这里对主机名称说明一下,如果查看本机主机名称,直接执行命令"hostname",如果想修改主机名称,则要以"root"用户权限,对"/etc/sysconfig/network"文件进行修改
\u显示用户名称