csh(读作C Shell),是UNIX上的 命令解释程序,执行 读入命令、解释、直到执行。
Shell 程序是 由 Shell 解释的 命令的集合。组合这种命令,可以作成持有多种功能的 新命令。C Shell的动作如下。
△简单的 Shell 编程
#! /bin/csh
……
……
如果 在脚本 第一行写 #!/bin/csh -f ,则不读入~/.cshrc。如果不带 -f 选项,则在脚本里,~/.cshrc中定义的设定(alias等)变为有效。
if(条件) then
命令(任意的行数可)
else if (条件) then
命令(任意的行数可)
else
命令(任意的行数可)
endif
例
#! /bin/csh
if ($#argv != 1) then
echo "a file name should be specified as an argument"
exit
endif
if ((-r ${1}.tex) && (-f ${1}.tex)) then
jlatex $1
else
echo "file ${1}.tex is not a readable file"
exit
endif
rm ${1}.log ${1}.aux
if (!(-z ${1}.dvi)) then
xdvi $1
else
echo "file ${1}.dvi is empty"
endif
并且,文件表达式 如下所示
-d:目录
-f:普通的 文件
-r:可读
-w:可写
-x:可执行
-e:文件的存在与否
-o:所有权
-z:文件大小是否为0
这些表达式 调查 文件的状态,真则值为1,假则值为0
foreach 变量名(参数1 参数2 …… 参数N)
命令1
命令2
·
·
命令N
end
例(在最后 如果没有换行,则不循环)
#! /bin/csh
foreach f (a.tex b.tex c.tex)
echo compiling a TeX file $f
jlatex $f
end <RET>
while(条件表达式)
命令1
命令2
·
·
命令N
end
例子(在最后 如果没有换行,则不循环)
set n=1
while ( $n <= 10 )
echo $n
@ n = $n + 1
end <RET>
C Shell的 运算符
history:h 除掉 路径名的 最后的 部分,取出其余路径名
history:t 仅仅取出路径名的 最后的 部分
history:r 除掉 扩展名
history:e 仅仅 取出 扩展名
history:s/l/r/ 把字符串 l 变换为 r
history:q 把字符串 括起来
history:x 把字符串 以空白、TAB作为分隔,然后括起来
history:g 对所有的句 修饰
history:a 对所有的字符 修饰
history:& 上回的 置换 再进行一次
history:p 不是执行命令,而是仅仅表示
不管哪个 history, 都可以包含 参数指定。
例:把多张图片 一次 转换为 bmp格式(于mogrify相同),变更为 从100开始的 文件名
$ ./img2bmp *.gif
例:img2bmp的 源代码(在最后,如果没有换行,则不循环)
#!/bin/csh
set l = 100
foreach a ($*)
convert $a $l:r.bmp
@ l ++
end <RET>
不使用C Shell,从文件名 除掉 路径和扩展名
$ basename /home/hoge/file1.txt.txt ← 在末尾 指定 待除掉的扩展名
file1
不使用C Shell,仅仅除掉 路径名的 最后的部分
$ dirname /home/hogei/file1.txt
/home/hogei/
特别的 变量
$0 启动Shell时的 命令名
$< 从 标准输入(stdin)读入1行,返回其值
$$ 对该变量求值的 csh进程番号
$! 最后 在后台 执行的 进程的 进程番号
而且,C Shell 不能进行 实数的处理。请利用Perl等。
重定向(Redirect)(但是csh的场合下,取决于 noclobber 的 设定)
操作 | sh系 | csh系(csh,tcsh等) |
stdout的重定向 | > file | > file |
stdout的追加重定向 | >> file | >> file |
stderr的重定向 | 2> file | 无法仅仅取出stderr |
stderr的追加重定向 | 2>> file | 无法仅仅取出stderr |
stdout和stderr的重定向 | > file 2>&1 | >& file |
stdout和stderr的追加重定向 | >> file 2>&1 | >>& file |
通过管道把stdout和stderr向命令重定向 | 2>&1 | command | |& command |
把stdout和stderr向各自的文件重定向 | > file1 2> file2 | 例:(command > file1) >& file2 |
注意:上表中的 | , 实际上请使用半角的竖线 | 。这里只是为了排版方便。
假如是sh系
$ find / -name hoge 2>/dev/null
假如是csh系
$ find / -name hoge |& grep -v "find:"
分享到:
相关推荐
在Linux中,有多种类型的shell,如ash、bash、ksh、csh、tcsh等。其中,bash(Bourne-Again SHell)是最常用的一种,也是大多数Linux发行版的默认shell。 bash具有许多特性,例如: 1. **命令历史**:bash支持通过...
常见的Shell类型有Bash(Bourne-Again SHell)、Sh、Csh、Ksh和Zsh等,其中Bash是最常用的一种。 讲座可能涵盖以下主要内容: 1. **Shell基础知识**:介绍Shell的基本概念、历史背景,以及如何设置和切换不同的...
【UNIX入门讲座】 UNIX操作系统,源于贝尔实验室的Bell Labs,是计算机科学史上的一个里程碑。自诞生以来,UNIX经历了多次演变,形成了多种版本,包括早期的UNIX、加州大学伯克利分校的4BSD、AT&T的System V、HP的...
常用的shell有bash、csh等。编译器如GCC(GNU Compiler Collection)则用于将源代码转换成可执行程序,对于开发C、C++等程序至关重要。 Linux C程序的框架包括预处理、编译、汇编和链接四个步骤。预处理处理宏定义...
在《创新思维和创新方法》讲座中,提到了科学的训练方法对提升创新能力的重要性。通过长期主动的训练,可以养成良好的创新习惯,从而提高个人的创新能力。在当前快速变化的时代,面对新情况和新问题,我们必须更新...
《中华楹联文化讲座稿》是一份深入探讨中国楹联文化的文献,由谢龙翔编著,主要涵盖了楹联的基本知识、规则、合格联的评析与佳联赏析等内容,旨在传播和传承这一独特的中华文化形式。 一、楹联基本知识 1. 楹联...
传染病预防知识讲座主要关注的是如何防范和控制传染病在学校和社区中的传播。首先,我们要理解传染病的基本概念,它是由病原体引起的,能在人与人之间或动物与人之间传播的疾病。传染病的流行需要三个基本环节:传染...
【一体化教学改革】是当前职业教育领域的重要趋势,旨在提升教学质量,更好地满足社会和企业的需求。这一教学模式改革的核心理念在于将传统的学科式教学转变为以实际工作任务为导向,将理论知识与技能训练紧密结合,...
CSH技能 主动分享知识。 我们都是专家。 让我们帮助提升数字技能! 组织 为主题投票 新话题的建议 日历缓慢和概述 松弛频道#skillup-methods 主题 当您要教一个主题时,建议看一下,已经包含许多有用且可重复使用的...
这个“不错的Shell编程的PPT”压缩包包含了多个PPT文件,很可能是系列讲座或教程的一部分,涵盖了Shell编程的基础到高级主题。 在这些PPT中,我们可以期待学习以下几个核心的Shell编程知识点: 1. **基础概念**:...
在本讲座中,我们将深入探讨Shell的基础知识,包括如何查看和使用Shell,以及如何编写和执行Shell脚本。 首先,了解Shell的基础知识至关重要。Linux系统通常有多种Shell可供选择,如Bash(Bourne-Again SHell)、...
本讲座主要针对AIX初级用户,旨在帮助学习者了解并掌握AIX的基础知识和基本操作。 **一、AIX系统架构** AIX采用微内核结构,核心操作系统服务与硬件交互,提供进程管理、内存管理、文件系统等基础功能。其上层构建...
在Linux和类Unix系统中,常见的Shell有Bash(Bourne-Again SHell)、Sh、Csh、Tcsh等。本讲座主要聚焦于Shell中的正则表达式(Regular Expressions)以及与其相关的grep、sed和awk工具。 【正则表达式(RE)】 ...
培训中,校长们需要按时参与,积极对照专家讲座内容反思自身的管理实践,寻找存在的问题和不足。 一、培训学习态度 校长们对待网络培训的态度至关重要。他们需严格按照培训规定的时间进行学习,听完讲座后,结合...
通过参加专业讲座和学习知名教育家如魏书生的教育理念,教师不断自我提升,改进教学方式,最终实现了与学生的良好互动和班级管理的显著改善。 教师的工作不仅仅是传授知识,更重要的是引导学生健康成长,建立良好的...
3. **内容安排**:学习内容丰富多样,包括法律法规(如《刻育法》、《刻师法》)、专题讲座(如宁波市教育发展规划)、心理健康知识、爱与责任的讲读、优秀教师先进事迹等,旨在全面提升教师的综合素质。自学和集中...
- 定期邀请专家进行讲座,提升教师的专业素养。 3. **德育工作**: - 深入挖掘教育资源,进行民族精神教育和“两纲”教育,通过各种主题活动提升学生道德品质。 - 重视心理健康教育和青春期教育,开设相关课程,...
在教师领域,这表现为通过各种教育活动,如听讲座、参与论坛讨论、撰写学习日志和教学设计,来更新教学观念,提高教学质量。 在学习内容中,提到了有效教学与数形结合思想的关系。有效教学强调在有限的教学资源下...
5. **健康教育**:要求设立负责的科室或专人,定期进行健康宣传教育,建立健康档案,定期为职工体检,并开展多样化的健康教育活动,如健身、讲座等。员工和学生需掌握一定的健康知识并形成健康行为。 6. **除“四害...
中心管理办公室负责日常运行、管理和服务工作,包括发展规划、规章制度、项目评审、日常管理、政策争取、手续办理、创业指导、培训讲座等一系列工作。 通过这个管理办法,南阳师范学院为大学生提供了一个集创业培训...