shell脚本.doc_第1页
shell脚本.doc_第2页
shell脚本.doc_第3页
shell脚本.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Shell概念:shell既是一种命令语言又是一种程序设计语言,它本身是一个用C语言编写的程序,作为用户使用Linux的桥梁Shell了解:系统给出shell提示符,对普通用户用 $ 作提示符,对root用户用 # 做提示符,在提示符后输入命令名称及所需要的参数,shell将执行这些命令。Shell特殊字符:1、 单引号单引号将消除被括在其中的所有特殊字符的含义,即将特殊字符作为普通字符对待2、双引号可以替换输出为一个变量,一般和单引号搭配使用例如:date=abc echo $date$dateecho $dateabcecho $dateabcecho $dateabc3、 反斜线反斜线防止shell误解特殊字符的含义,即屏蔽特殊字符的特殊含义例如:date=abcecho $date$dateecho $dateabc4、 注释符在shell编程里以字符 # 开头的正文行表示注释行Shell程序变量和参数:1、 用户定义的变量a、 说明一个变量为只读readonly +变量名注解:如果程序中对一个只读变量进行赋值操作,则程序终止报错并不执行以下操作b、定义公共变量export +变量名 或 export +变量名=变量值c、定义自己的变量变量名=变量值 或 $变量名=变量值注解:定义比变量时,等号两边一定不能有空格,两种方法定义的变量一样用法d、清除变量unset +变量名注解:如果用echo打印被清除的变量,则打印空行e、显示变量echo命令结合$ 可以显示单个变量的取值注解:要用一个echo命令打印多个变量则每个变量前都要加$ 符号f、显示所有本地定义的shell变量set命令注解:用set命令显示所有本地定义的shell变量包括环境变量等2、 shell定义的环境变量Shell在开始执行时就已经定义了一些和系统工作环境有关的变量,这些变量用户还可以重新定义(最好不要),传统上所有环境变量均为大写。a、 设置环境变量VARNAME=变量值;export VARNAME 或 export VARNAME=变量值b、显示所有环境变量env命令可以查看所有的环境变量注解:环境变量的其他操作和用户定义变量操作一样,例如清除unset显示echo等3、 常用的shell环境变量HOME:保存注册目录的完整路径名PWD:当前工作目录的绝对路径名SHELL:保存默认shell类型TERM:保存终端类型LOGNAME:保存登录名PATH:保存用冒号分隔的多个目录路径名,shell将按其路径顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行4、 预定义变量预定义变量和环境变量相似,都是在shell开始时就定义了的变量,不同的是用户只能根据shell的定义来使用这些变量,而不能重新定义,所有预定义变量都是由$符和另一个符号组成的,常用的预定义变量如下:$# :位置参数的变量$* :所有位置参数的内容$? :命令执行后返回的状态$ :当前进程的进程号$ ! :后台运行的最后一个进程号$0 :当前执行的进程名,不是一个位置参数5、 位置参数位置参数是一种在调用shell程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数,位置参数之间用空格分隔。Shell取第一个位置参数替换程序文件中的$1,第二个替换$2,依此类推,$9以后的位置参数要加大括号,如$10,$11.例如:在某脚本中执行sh shell_test 5 4 3 2 1,则在shell_test脚本中有5个位置参数,可以echo $2对应打印4,如同C语言中函数间传递参数Shell程序的执行方法:Shell编程的惯例,以bash为例,程序第一行一般为“#! /bin/bash”,其中“#”表示该行是注释,“!”表示shell(脚本)运行后面的命令“/bin/bash”并用文档的其余部分作为输入,也就是运行/bin/bash,并让/bin/bash去执行shell程序的内容。注解:对于shell程序,当编辑器生成一个文件时,系统赋予的许可权都是644(rw-r-r-),可以直接运行这个shell脚本1、 sh (shell程序文件名)或 bash(shell程序文件名)注解:调用一个新的bash命令解释程序,并把当前shell程序文件名作为参数传递给它2、 sh(shell程序文件名)或 bash(shell程序文件名)注解:这种方式是利用输入重定向,使shell命令解释程序的输入取自指定的程序文件3、 bash -选择项(shell程序文件名)-e :如果一个命令失败就立即退出-n :读入命令但不执行-u :置换时把未设置的变量看作出错-v :当读入shell输入行时把它们显示出来-x :执行命令时把命令和它们的参数显示出来注解:可以通过“set -选择项”和“set +选择项”在shell程序内部启用和禁用“对应选择项”的作用,如果只想对程序的某一段使用这些选择项时,则用“set -选择项”和“set +选择项”将对应段代码包围起来Shell程序的流程语句:与传统语言不同的是,shell用于指定条件值的不是布尔运算式,而是命令和字串1、 测试命令:用于检查某个条件是否成立,它可以进行数值、字符、文件 三个方面的判断。a、 数值判断:-eq :等于则为真-ne :不等于则为真-gt :大于则为真-ge :大于等于则为真-lt :小于则为真-le :小于等于则为真b、字串判断:= :相同则为真!= :不相同则为真-z 字串 :字串长度伪则为真-n 字串 :字串长度不伪则为真c、文件判断:-e 文件名:文件存在则为真-r 文件名:文件存在且可读则为真-w 文件名:文件存在且可写则为真-x 文件名:文件存在且可执行则为真-s 文件名:如果文件存在且至少有一个字符则为真-d 文件名:如果文件存在且为目录则为真-f 文件名:如果文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论