UNIX操作系统下的Shell程序
UNIX系统有很多种产品,每种产品的命令略有不同,但基本一致。
Shell环境定义了UNIX与用户进行交互的方式。环境特性由包含名称和值的环境变量定义。以下是一些常见的缺省设置的环境变量。
(1)HOME:定义用户的主目录;CD命令的缺省目录。
(2)LOGNAME:包含用户名。
(3)MAIL:确定系统查找邮件的位置。
(4)PATH:设置系统用于查找并执行命令的目录。
(5)SHELL:决定运行的 shell。
(6)TERM:指定准备输出的终端类型。
(7)TZ:提供当前时区及其与格林威治标准时间的差值。
(8)EDITOR:确定缺省的编辑器。
(9)DISPLAY:指定窗口显示主机。
在Shell命令中,echo命令可以显示Shell变量的内容或值。在Shell中有一些特殊意义的变量,由Shell自己管理,这些特殊变量有:
表4-7 Shell程序中的保留字符及其含义
保留字符
含义
$
shell变量名的开始
|
管道,将标准输出转到下一个命令的标准输入
#
注释开始
&
在后台执行一个进程
?
匹配一个字符
*
匹配0到多个字符(与DOS不同,可在文件名中间使用,并且含.)
$-
使用set及执行时传递给shell的标志位
$!
最后一个后台进程的标识符
$#
保存程序命令行参数的数目
$*
以("$1$2…")的形式保存所有输入的命令行参数
$@
以("$1""$2"…)的形式保存所有输入的命令行参数
$?
保存前一个命令的返回码
$0
当前shell的名字
$n
位置参数
$$
当前命令的进程标识符
在UNIX中,cat命令的功能是从命令行给出的文件中读取数据,并将这些数据直接送到标准输出。
本文摘自希赛数字图书《数据库系统工程师考试冲刺指南》,更多的详细内容请见:http://book.csai.cn/viewbook.asp?id=79
输出重定向是指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。这样,该命令的输出就不显示在屏幕上,而是写入到指定文件中。
输出重定向比输入重定向更常用,很多情况下都可以使用这种功能。例如,如果某个命令的输出很多,在屏幕上不能完全显示,那么将输出重定向到一个文件中,然后再用文本编辑器打开这个文件,就可以查看输出信息;如果想保存一个命令的输出,也可以使用这种方法。还有,输出重定向可以用于把一个命令的输出当作另一个命令的输入。
输出重定向的一般形式为:命令>文件名。
如果>符号后边的文件已存在,那么这个文件将被重写。为避免输出重定向中指定文件只能存放当前命令的输出重定向的内容,shell提供了输出重定向的一种追加手段。输出追加重定向与输出重定向的功能非常相似,区别仅在于输出追加重定向的功能是把命令(或可执行程序)的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。如果要将一条命令的输出结果追加到指定文件的后面,可以使用追加重定向操作符>>。形式为:命令>>文件名。
在Shell中,for循环的格式如下:
for var in arg1 arg2 ... argn
do
command
....
command
done
位律师回复
0条评论