-
genesis2000
脚本简单的
csh
p>
语法讲解
一、变数
1.
字串变数
这个部分和
Bourne Shell
的变数一样,只不过在设定变数值时不能
使用
Bourne
Shell
的方式,而必须打:
set var=value
2.
数字运算
基本上
C Shell
没有数字变数,但
C Shell
却有简单的方法处理数字
运算:
@ var operator expression
operator
可以是
C
语言中的
=, +=, -
=,……<
/p>
,而
expression
则是运算
p>
式。运
算式的运算子如下:
A. ()
改变计算的顺序
~@
B. ~
位元
NOT
运算
@~~
!
逻辑否定
C.
%
取馀数
/
除
*
乘
-
减
+
加
D.
>>
右移
<<
左移
E.
>
大於
<
小於
>=
大於等於
<=
小於等於
!=
不等於
==
等於
F.
&
位元
AND
运算
< br>
^
位元
XOR
运算
|
位元
OR
运算
G.
&&
逻辑
AND
||
逻辑
OR
除此之外,我们也可以检验一个档案的状态,如下
-n filename
而
-n
可为下列之一
-d
档案是一个目录档案
-e
档案存在
-f
档案为一般的档案
-o
使用者拥有这个档案
-r
使用者可以读取这个档案
-w
使用者可以写入这个档案
-x
使用者可以执行这个档案
-z
档案长度为
0
@ count = count + 1
@ flag =
-e /users/cc/mgtsai/mail && -e
/usr/spool/mail
3.
阵列
在
C
Shell
中,我们可以宣告阵列变数,方式如下
set var=(val1 val2 ……)
而
var[1]
之值为
v
al1
,
var[2]
之值为
val2……
。
而
$$v
ar
代表整个阵列。
我们
可以用
$$#var
来计算阵列个数,也可以用
$$?var
来检查某个变数是否
已宣告。
4.
特殊变数
$$argv
和
Bourne She
ll
的
$$*
相似,只不过这是一个阵列
。
$$argv[n]
和
Bourne Shell
的
$$n
相同,但不受个数限制。
$$#argv
和
Bourne Sh
ell
的
$$#
相同
$$home
和
Bourne
Shell
的
$$HOME
相同
$$path
和
Bourne Shell
的
$$PATH
相似,只不过这是一个阵列
$$prompt
和
Bourne S
hell
的
$$PS1
相同
$$shell
Shell
的路径名称
$$status
和
Bourne S
hell
的
$$?
相同
< br>
$$$$
和
Bourne Sh
ell
的
$$$$
相同
$$<
键盘输入
二、执行命令
基本上和
Bourne
Shell
相同,只有一点在
Bourne
Shell
中的
”.”
命令
在
C Shell
中
则为
”s
ource”
命令。
三、流程控制
在
C Shell
中流程控制不像
Bourne Shell
中一般需要使用
test
命令。
相
反地,它和
C
语言类似只要在条件
中写出运
□
式即可。当运算结果不为零时,其
< br>值为真,为零
时其值为伪。以下是
C
Shell
的流程控制
1. if
语法如下
if
(expression) simple-command
2. goto
语法如下
goto label
这时程式会跳
至以
l”label:”
开头的那一行执行
if ($$#argv == 2) goto goodargs
echo ?Please use two
arguments.?
exit
goodrags:
…
3. if then else
这和
Bourne
Shell
的
if then, if then else,
if then elif
相似。语法如下
A. if (expression) then
commands
endif
B. if (expression) then
commands
else
commands
endif
C. if (expression) then
commands
else if
(expression) then
-
-
-
-
-
-
-
-
-
上一篇:皇帝的新装剧本
下一篇:2019年全国统一高考历史试卷(全国三卷)