bash

**** PS1[prompt[提示] string 1] 符号正则表达式

\$ 若是以root身份运行的话,就显示为#,不然就是$
 \w  工做目录的路径名
 \W  工做目录的基名
 \!  当前事件(历史)编号
 \d  按照“工做日/月/日期”格式显示的日期
 \h  计算机的主机名,不包括域名
 \H  计算机全名,包括域名
 \u  当前用户的用户名
 \@  按照12小时制,AM/PM格式显示的当前时间值
 \T  按照12小时制,HH:MM:SS格式显示当前时间
 \A  按照24小时制,HH:MM格式显示当前时间
 \t  按照24小时制,HH:MM:SS格式显示当前时间
   
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*** bash关键字变量shell

BASH_ENV 用于非交互式shell的初始化文件的路径名
CDPATH cd命令的搜索路径
COLUMNS select命令使用的显示宽度
FCEDIT fc默认使用的编辑器名称
HISTFILE 保存历史列表文件的路径名(默认为~/.bash_history)
HISTFILESIZE 保存在HISTFILE中的最大项数
HOME 用户主目录的路径名,用做cd命令的默认参数或用在代字符(~)表达式中
IFS(internal field separator) 内部字段分隔符,用于分词
INPUTRC readline 初始化文件的路径名(默认为~/.inputrc)
LANG 没有用LC_*变量特别设置时的区域目录
LC_* 指定了区域目录,包括LC_COLLATE、LC_CTYPE、LC_MESSAGES和LC_NUMBERIC的一组变量,使用内置命令locale能够显示值的列表
LINES select使用的显示高度
MAIL 保存用户邮件的文件的路径名
MAILCHECK 以秒为单位定义了bash检查邮件的频率
MAILPATH bash检查邮件文件的路径名列表,名字之间用冒号隔开
PATH bash查找命令的目录路径名列表,名字之间用冒号隔开
PROMPT_COMMAND bash在显示主提示符以前要执行的命令
PS1(prompt string 1) 提示符1,主提示符(默认为 "\s-\v\$ ")
PS2(prompt string 2) 提示符2,主提示符(默认为 "> ")
PS3 select 发出的提示符  
PS4 bash调试符
REPLY 保存read接受的行,还用于select
   
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

**** shell特殊字符vim

换行符 启动命令执行
; 分隔字符
() 经过子shell,或者标示函数执行命令分组
& 在后台执行命令
| 将前一个命令的输出发送给其后面的命令(管道)
>  重定向标准输出
>>  重定向标准输出(在后面追加)
<  重定向标准输入
<<  Here文档
*  模糊文件引用中的0个或多个字符组成的串
?  模糊文件引用中任何单个字符
\  引用后面的字符
'  引用字符串,阻止全部替换
"  引用字符串,只容许变量替换和命令替换
`...`  执行命令替换
[] 字符范围。用做正则表达式的一部分,描述一个匹配的字符范围。做为test用途的中括号内不能使用正则。好比:[0-9]、[a-z]等
$  引用某个变量
.(内置句点 source)  执行命令(只在行首)
#  开始一行注释
{}  用来封装函数体
:()  返回true
&&  与
||  或
!  非
$()【tcsh中没有】  执行命令替换(优先形式)
[]  计算算术表达式的值
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

here文档

Here文档是一种具备特殊功能的代码块,是I/O重定向的一种特例。Here文档采用I/O重定向的方法,把一系列须要从键盘输入的命令,模拟人工输入的方式,一行一行地交给交互式应用程序或命令。其具体的语法格式以下:bash

     program<<limitstring编辑器

     command1函数

     command2.net

     command3调试

     .......blog

 

     commandN事件

    limitString

其中,特殊的I/O重定向符号“<<”与“LimitString ”是here文档的开始,单独另起一行的第二个Limitstring 表示here文档的结束。

下面的例子说明怎样利用here文档运行vim编辑器,模拟vim编辑器的交互过程,输入“i”命令和ESC键,插入两行数据,最后把编辑器的数据内容写入特定的文件。

#!/bin/bash             // emnvim

if [ -z "$1" ]

then

      echo "Usage :`basename $0` filename"

      exit 1

fi

vim $1<<EOF

i

I cannot choose the best.

the best choosr me.

^[

zz

EOF

exit 0

使用下列命令运行shell 脚本时,便可获得一个自动编辑的文本文件

$emnvim fname

$cat fname

I cannot choose the best.

the best choose me.

注意:here文档要求其中的输入数据,尤为是做为结束标志的字符串分界符"LimitString"必须位于单独另起一行的起始位置。

相关文章
相关标签/搜索