1 / 19
文档名称:

《补充cshell编程》.ppt

格式:ppt   大小:368KB   页数:19页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

文档介绍:第9章 补充:C shell编程

整理课件

C shell概述
Bill Joy于20世纪80年代早期,在Berkeley的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语第9章 补充:C shell编程

整理课件
C shell概述
Bill Joy于20世纪80年代早期,在Berkeley的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。
FreeBSD缺省的shell是C shell .

整理课件
C shell概述
cshell系列中目前用得更多的是tcshell, 它是cshell的增强版本,Linux上/bin/csh实际指向的是tcsh.
Linux交互模式下,csh/tcsh与bash没有太大的区别,它们的区别主要体现在脚本语言上。

整理课件
切换到C shell
直接键入csh
退出用exit
或者用chsh命令改变某个用户的登录shell

整理课件
变量定义与用户输入
变量定义:
set 变量名 = 变量值
用户输入:
用$<变量,相当于bash中的read命令

整理课件
算术运算
符号@用于将数值表达式结果赋给变量:
@ sum = 4 + 6
@ sum++
数值表达式的写法与C语言完全相同,但应注意,引用一个变量的值需要加$号:
@ sum++ 等同于 @ sum = $sum + 1
数值表达式不用引号括起来
@后面以及运算符两边必须有空格

整理课件
命令行参数
位置变量$0, $1, $2等仍然可用
另外C shell提供了一个数组$argv,其含义类似于C语言main函数的argv参数
shift仍然可用

整理课件
条件结构与流程控制
要测试表达式,需要用圆括号括起来。C shell根据计算结果是否非0,来判断表达式的真假
下面是比较/逻辑运算符及其优先级

整理课件
条件结构与流程控制

整理课件
条件结构与流程控制

整理课件
条件结构与流程控制
if语句:
if (表达式) then
命令列表
endif
if (表达式) then
命令列表
else
命令列表
endif

整理课件
条件结构与流程控制
实例 ex2

若if表达式后只有一条命令,则不需要endif:
if ($#argv == 0) exit 1
如果命令行参数的个数为0,则程序以状态1退出

其他实例 ex3

整理课件
条件结构与流程控制
在条件结构中对命令求值
如果不是计算表达式,而是要对命令求值,需要用花括号把命令括起来,如果命令执行成功,则花括号指示shell返回真,否则返回假。
格式:if { (命令) } then
命令列表
endif
实例:ex4

整理课件
条件结构与流程控制
文件测试:

整理课件
条件结构与流程控制
文件测试:
if ( -e file ) then ...
if ( -d file ) then ...
if ( -r file && -w file ) then ...

也可用test命令,因为test是命令,因此需要用花括号:
if { test –d file } then ...

整理课件
条件结构与流程控制
switch结构:
格式:switch (变量)
case 常量:
命令
breaksw
case 常量:
命令
breaksw
endsw
实例:
ex5

整理课件
循环结构
foreach循环
格式:foreach 变量 (词表)
命令
end
例:
foreach person (Bob Sam Sue Fred)
echo $person
end

整理课件
循环结构
while循环
实例 ex6

repeat循环
repeat带两个参数:一个数字和一个命令,指定该命令被执行的次数:
例:repeat 3 echo hello

整理课件
练习
用cshell写一个脚本,计算1到50的平方和。

整理课件

分享好友

预览全文

《补充cshell编程》.ppt

上传人:相惜 7/31/2022 文件大小:368 KB

下载得到文件列表

《补充cshell编程》.ppt

相关文档