James 发表于 2018-8-22 09:49:15

服务器shell显示IP和路径

  服务器shell显示IP和绝对路径:
  vim ~/.bashrc
  添加
  export PS1="[\u@`/sbin/ifconfig eth0 | sed -nr 's/.*inet (addr:)?((*\.){3}*).*/\2/p'` \w]\$"
  即可,效果:
  $
  发现rm没经提示就删除了文件,还是慎重为好;添加下alias别名;
  cd ~
  vim ~/.bashrc
  添加
  alias rm='rm -i'
  alias cp='cp -i'
  alias mv='mv -i'
  alias cdcore='cd /data/common/coredump'
  alias cdpatch='cd /data/patch/tmp'
  alias cdcs='cd /data/patch/backup/cc'
  alias cddb='cd /data/backup/oa'
  if [ -f /etc/bashrc ]; then
  . /etc/bashrc
  fi
  # Uncomment the following line if you don't like systemctl's auto-paging feature:
  # export SYSTEMD_PAGER=
  默认情况下Terminal中的shell提示包括了用户名、主机名、当前目录(绝对路径)和提示符。Linux系统终端提示符的特征由系统环境变量PS1(是“prompt string one” 的简写)定义。通过命令echo $PS1查看当前设置
  echo $PS1
  [\u@10.0.0.17 \w]$
  PS1的值由一系列静态文本或\和转义字符序列组成,如:
  $ PS1=”\u@\H \w$ ”
  * Shell 提示符中用到的转义字符
  序列
  显示值
  \a
  以 ASCII 格式编码的铃声 . 当遇到这个转义序列时,计算机会发出嗡嗡的响声。
  \d
  以日,月,天格式来表示当前日期。例如,“Mon May 26”
  \h
  本地机的主机名,但不带末尾的域名。
  \H
  完整的主机名。
  \j
  运行在当前 shell 会话中的工作数。
  \l
  当前终端设备名。
  \n
  一个换行符。
  \r
  一个回车符。
  \s
  shell 程序名。
  \t
  以24小时制,hours:minutes:seconds 的格式表示当前时间.
  \T
  以12小时制表示当前时间。
  \@
  以12小时制,AM/PM 格式来表示当前时间,例如“10:51 PM”。
  \A
  以24小时制,hours:minutes 格式表示当前时间。
  \u
  当前用户名。
  \v
  shell 程序的版本号,例如4.3。
  \V
  shell 程序的版本号,例如4.3.11。
  \w
  当前工作目录名。
  \W
  当前工作目录名的最后部分。
  \!
  当前命令的历史号。
  \#
  当前 shell 会话中的命令数。
  \$
  这会显示一个"$"字符,除非你拥有超级用户权限。在那种情况下, 它会显示一个"#"字符。
  \[
  标志着一系列一个或多个非打印字符的开始。这被用来嵌入非打印的控制字符,这些字符以某种方式来操作终端仿真器,比方说移动光标或者是更改文本颜色。
  \]
  标志着非打印字符序列结束。
  例如我现在想让提示符显示格式为:“@ $ ”,则
$ PS1=”\u@\W\$ ”  字体颜色是由一个ANSI 转义编码来控制的。该控制编码会嵌入字符流中并发送给终端仿真器。但是,该控制编码不会被“打印”到屏幕上,而是会被终端解释为一个指令。正如我们在上表看到的字符序列, 这个 \[ 和 \] 序列被用来封装这些非打印字符。一个 ANSI 转义编码以一个八进制033(这个编码是由 退出按键产生的)开头,其后跟着一个可选的字符属性(0:正常、1:黑体、4:下划线、5:闪烁、7:反向(前景色和背景色反转)),在之后是一个指令。
  *用转义序列来设置文本颜色
  序列
  文本颜色
  序列
  文本颜色
  \033[0;30m
  黑色
  \033[1;30m
  深灰色
  \033[0;31m
  红色
  \033[1;31m
  浅红色
  \033[0;32m
  绿色
  \033[1;32m
  浅绿色
  \033[0;33m
  棕色
  \033[1;33m
  ×××
  \033[0;34m
  蓝色
  \033[1;34m
  浅蓝色
  \033[0;35m
  粉红
  \033[1;35m
  浅粉色
  \033[0;36m
  青色
  \033[1;36m
  浅青色
  \033[0;37m
  浅灰色
  \033[1;37m
  白色
  例如我们来设置一个同LinuxMint默认的绿色提示符,
  $ PS1="\[\033\u@\W\$\[\033 "
  *背景颜色
  除了字体颜色,我们也可以设置字体的背景颜色。同样是通过转义的控制编码来实现,下表是背景颜色的控制编码。
  表3: 用转义序列来设置背景颜色
  \033[0;40m
  黑色
  \033[1;44m
  蓝色
  \033[0;41m
  红色
  \033[1;45m
  粉红
  \033[0;42m
  绿色
  \033[1;46m
  青色
  \033[0;43m
  棕色
  \033[1;47m
  浅灰色
  *移动光标:
  转义编码也可以用来定位光标。这些编码通常被用来,每次当提示符出现的时候,会在屏幕的不同位置,比如说上面一个角落,显示一个时钟或者其它一些信息。下表是一系列用来定位光标的转义编码:
  光标移动转义序列
  转义编码
  行动
  \033[l;cH
  把光标移到第 l 行,第 c 列。
  \033[nA
  把光标向上移动 n 行。
  \033[nB
  把光标向下移动 n 行。
  \033[nC
  把光标向前移动 n 个字符。
  \033[nD
  把光标向后移动 n 个字符。
  \033[2J
  清空屏幕,把光标移到左上角(第零行,第零列)。
  \033[K
  清空从光标位置到当前行末的内容。
  \033[s
  存储当前光标位置。
  \033[u
  唤醒之前存储的光标位置。
  *保存提示符
  我们在当前打开的Terminal中设置环境变量PS1的值来自定义的终端提示符,只在当前Terminal中有效,打开新的Terminal就会采用系统默认的提示符了。我们当让不希望每次打开Terminal的时候都要重新设置一次SP1环境变量。
  ~/.bashrc文件会在每次打开一个Terminal之前会被执行一次。于是,我们可以将设置环境变量SP1的命令放到该文件中,便不需要每次都手工再设置一次SP1的值。于是,我们在~/.bashrc配置文件末尾加入下面两行内容,
  PS1="\[\033\u@\W\$\[\033 "
  export PS1
  用的虽少,还是有用,做个小笔记。


页: [1]
查看完整版本: 服务器shell显示IP和路径