Shell编程中的几个命令

介绍几个命令:echo, eval, exec, export, readonly, read, shift, wait和点(.)。

1.echo

格式:echo args

功能:在屏幕上显示出由args指定的字串。

2.eval

格式:eval args

功能:命令eval的功能是將参数(args)读入 C shell 中,然后在加以执行。例如:

vcom 是 'ls -l ; date'。当我们來执行“$vocm”,会出现错误信息ls: invalid option -- ;”及“try 'ls --help' for more infomation”。原因是 C shell 在语法解析中无法理解特殊符号所造成的。符号“;”和命令 date 被理解成是命令 ls -l 后的“文件名称”。所以才会有“ls: invalid option -- ;”。命令eval 便是用來解决这种情況:

其实在作法上使用命令 eval 便相当于以下的用法:

如果你是在 C shell 下,你也可使用以下的方式:

另外在使用命令 eval 上也有技巧,看一互換的技巧:

3.exec

格式:exec命令参数

功能:当Shell执行到exec语句时,不会去创建新的子进程,而是转去执行指定的命令,当指定的命令执行完时,该进程(也就是最初的Shell)就终止了,所以Shell程序中exec后面的语句将不再被执行。

4.export

格式:export变量名 或:export变量名=变量值

功能:Shell可以用export把它的变量向下带入子Shell,从而让子进程继承父进程中的环境变量。但子Shell不能用export把它的变量向上带入父Shell。

注意:不带任何变量名的export语句将显示出当前所有的export变量。

5.readonly

格式:readonly变量名

功能:将一个用户定义的Shell变量标识为不可变。不带任何参数的readonly命令将显示出所有只读的Shell变量。

6.read

格式:read变量名表

功能:从标准输入设备读入一行,分解成若干字,赋值给Shell程序内部定义的变量。

7.shift

功能:shift语句按如下方式重新命名所有的位置参数变量,即$2成为$1,$3成为$2…在程序中每使用一次shift语句,都使所有的位置参数依次向左移动一个位置,并使位置参数$#减1,直到减到0为止。

8.wait

功能:使Shell等待在后台启动的所有子进程结束。wait的返回值总是真。

9.exit

功能:退出Shell程序。在exit之后可有选择地指定一个数位作为返回状态。

10..(点)

格式:. Shell程序文件名

功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句。

转自:http://www.cppblog.com/fwxjj/archive/2011/01/01/137862.html  (小幅修改和调整)

Shell编程中的几个命令》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注