网站大量收购独家精品文档,联系QQ:2885784924

【2017年整理】cshe与ll语法.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【2017年整理】cshe与ll语法

CShell 简单语法 CShell 头部声明 当你执行一个shell script时, 系统会检查script文件的第一行以确定如何执行其中的命令: 如果第一行以#!开始, 后面跟着一个程序名, 系统就会用那个程序来执行script中后面的命令. 如果第一行以#开始, 系统会用Cshell执行script.等同于#!/bin/csh 如果第一行不是以#开始, 系统就会用Bshell来执行script.等同于#!/bin/sh 1. [建议您使用明确的写法,即用#!/bin/csh(sh)] 2. 如果你想快速执行Cshell, 即不想读入Cshell的启动程序(.cshrc等), 在script文件的第一行应该用类似下面的格式: #!/bin/csh -f script SCRIPT中的参数及变量 如何将命令行的参数传给script呢? 可以这样: 键入script名, 后面跟任何你想要传递的参数. Cshell把script名后面的字符按照词(words)来划分后传递给一个叫做 argv的变量数组, 叫做arguments list. 这样命令行的参数就作为words存储于argv 中, 连同script名, 分别可以被引用为argv[0], argv[1], ... argv[n], 或者你也可以用等效的方法即$0,$1,...,$n来引用它们,其中n是参数的个数. 除了argv, $0, $1, ... $n, 等以外, 你还可以在script中使用其他变量. 有许多符号可以对变量进行操作: 读取, 赋值, 判断属性等等. 分述如下: $?name 判断变量是否存在, 若存在(被set过)则等于 1 . 否则等于 0 . 例如: % set var=abc % echo $?var #结果为 1 % unset var % echo $?var #结果为 0 $#name 计算变量name中的词(words)数. 例如: % set var=(a b c) # $#var == 3 % set var=abc # $#var == 1 % unset var # var: Undefined variable. $$ $$是Cshell的特殊变量, 用于表示执行此script时的进程号. 因为进程号是唯一的, 你可以用$$来生成一个唯一的临时文件,比如tmp.$$. 它可以避免任何文件名的冲突. 当然你也可以开发你自己对$$的独特应用. $ 重定向符号. 即从终端读入(一行). 比如: echo -n yes or no? set a=($) 即变量a从终端输入. (如果你输入了一个空行或^D, $#a将等于 0 ) $n和$argv[n]实际上有个微小的差别: 当n大于参数个数($#argv)时, $argv[n]要报错, 而$n永远也不会有这种下标溢出的错. 对其他变量, 也不会发生下标溢出的错误, 例如: 当(n $#var) 时, $var[n-]不给任何结果和错误信息. 而$var[m-n]给出$var[m]到$var[$#var]的words. 如果(m $#var) 则没有任何结果. 文件操作格式: -操作符 filename -e 文件存在返回1(.true.), 否则返回0(.false.). -r 文件可读返回1,否则返回0. -w ....可写................ -x ....可执行............... -o 文件属于用户本人返回1, 否则返回0. -z 文件长度为0返回1, 否则返回0. -f 文件为普通(plain)文件返回1, 否则返回0. -d 文件为目录文件时返回1, 否则返回0. 路径名操作: 你可以对路径名进行操作, 以便于去掉你不需要的部分. :t (tail)只保留路径名最右边的部分, 而将前面的全部去掉. (相当于basename) :r (root)去掉从.(dot)开始的后缀部分. :e (end)去掉从左边开始一直的.的前缀部分. :h (head)去掉最后的一部分, 只保留文件所在的目录名. 比如, 你有一个叫做 /usr/people/user1/file1.txt的文件, 在script中将它赋值给变量var_file, 则: $var_file:t == file1.txt $var_file

文档评论(0)

liwenhua11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档