参考印象笔记:

psim out of memory怎么解决 ps1 memory card_主机名

----->024

一、PS1——默认提示符

如下所示,可以通过修改Linux下的默认提示符,使其更加实用。在下面的例子中,默认的PS1的值是“\s-\v\$”,显示出了shell的名称的版本。我们通过修改,可以使其显示用户名、主机名和当前工作目录。

-bash-3.2$ export PS1="\u@\h \w> " 

ramesh@dev-db ~> cd /etc/mail 

ramesh@dev-db /etc/mail>

[注: 提示符修改为 "username@hostname current-dir>的形式]

本例中PS1使用的一些代码如下:

 \u -- 用户名 
 \h -- 主机名   建议在\h值之后有一个空格。从个人角度来讲,使用这个空格可以增加一定的可读性。
 \w -- 当前目录的完整路径。请注意当你在主目录下的时候,如上面所示只会显示~

二、PS2——再谈提示符

一个非常长的命令可以通过在末尾加“\”使其分行显示。多行命令的默认提示符是“>”。 我们可以通过修改PS2 ,将提示符修改为"continue->" 。

ramesh@dev-db ~> myisamchk --silent --force --fast --update-state \ 
> --key_buffer_size=512M --sort_buffer_size=512M \ 

> --read_buffer_size=4M --write_buffer_size=4M \ 

> /var/lib/mysql/bugs/*.MYI

[注: 这里使用 ">" 作为默认提示符]

ramesh@dev-db ~> export PS2="continue-> " 

ramesh@dev-db ~> myisamchk --silent --force --fast --update-state \ 

continue-> --key_buffer_size=512M --sort_buffer_size=512M \ 

continue-> --read_buffer_size=4M --write_buffer_size=4M \ 

continue-> /var/lib/mysql/bugs/*.MYI


[注: 与上面类似,用 "continue-> " 作提示符]

当用“\”使长命令分行显示,我发现非常易读。当然我也见过有的人不喜欢分行显示命令

实际案例总结==>


 

三、PS3——Shell脚本中使用select时的提示符

你可以像下面示范的那样,用环境变量PS3定制shell脚本的select提示:

不使用PS3的脚本输出:

cat ps3.sh


执行脚本如下==>


[注: 缺省的提示符是 #?] 

 

 使用PS3的脚本输出:


加了一句提示脚本,更加的友好了


三、PS4——PS4-“set -x"用来修改跟踪输出的前缀

如果你像下面那样在调试模式下的脚本中,PS4环境变量可以定制提示信息:

没有设置PS4时的shell脚本输出:

[root@localhost functions]# cat ps4.sh 

set -x

echo "PS4 demo script"

ls -l /root/|wc -l

 [注: 当使用sex -x跟踪输出时的提示符为 ++] 

设置PS4后的脚本输出:

PS4在ps.sh中定义了下面两个变量

o $0 显示当前的脚本名 
o $LINENO 显示的当前的行号

在ps4.sh脚本最顶层加一行这个==========>


输出的效果如下===>


如下图所示效果==>


 [注: 使用PS4后使 "{script-name}.{line-number}+" 成为set –x的命令提示符]