《shell编程-基础 .docx》由会员分享,可在线阅读,更多相关《shell编程-基础 .docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结1 创建 shell 脚本文件创建文件, 并且以#!/bin/bash开头,#!/bin/bash 是必需行开头行,在脚本文件中加注释可用 #开头=文=件=Eg: #./bin/bash#显示时间和用户DateWho=文= 件结尾 =2 用 echo 显示消息当要显示自己的消息时,可以用echo zijidexiaoxi 来显示Eg: 在上面文件中加入一行Echohello word !运行时即可显示出 hello word !当 echo 显示的消息中有引号单、双引号要特殊处理,弱消息中有单引号,就应用双引号将整个消息括起, 假设消息中有双引号, 就应用单引号将消息括起。 假
2、设要显示消息后不换行, 应用 echo n可编辑资料 - - - 欢迎下载精品名师归纳总结3 使用环境变量在脚本中我们可以使用$环境变量名称 来使用环境变量,假设要显示$符号,要使用转义符 。Eg:Echo UID: $UID /$UID 使用的是 UID 环境变量 Echo“much $15 ” / 使用的是 $符号,表示 15 美元$环境变量名 放在引号内也可被识别:Echo“UID: $UID” / 使用的是 UID 环境变量值4 使用用户变量用户变量名不超过 20 个字符,由字母,数字,下划线组成用户变量区分大小写用户变量暂时储备数据并在整个脚本中使用赋值通过 变量=值 实现,等号两边
3、无空格用户变量通过美元符 $引用用户变量自动识别打算变量赋值的类型Eg: Test1=100Test2=“hello word !” Echo $test1Echo $test2可编辑资料 - - - 欢迎下载精品名师归纳总结5 使用反引号不是单引号 , 而是反引号 , 和位于同一个键位反引号可以将 shell 命令的输出赋值给变量 用反引号圈起命令Eg: testing=date echo $testing* 注:当 shell 命令的结果赋值给变量后,可以用该变量做许多其他的事情。6 重定向输出重定向可以将一个命令的输动身到一个文件中,常用 实现Eg:Date data.txt当文件已经存
4、在时,用 重定向掩盖原文件,假设要追加在文件结尾,应用 实现重定向Ls data.txt7 重定向输入输入重定向可将文件内容输入到命令, 用 实现,command file可编辑资料 - - - 欢迎下载精品名师归纳总结当需要用户在命令行输入内容时,可以用内联重定向 Wc str2当处理字符大小写时, test 用的是字符的 ASCII编码表示大小, sort 命令用字符在本的化语言中的排序表示大小。 test 中小写字符大于大写字符, sort 命令中大写字符大于小写字符非空检查-n 和 z 参数用来检查一个变量是否含有数据-n :检查是否有内容,有内容时返回0,否就返回非 0命令非正常退出
5、。-z: 检查是否为空。为空时返回 0,否就返回非 0.可编辑资料 - - - 欢迎下载精品名师归纳总结14.3 文件比较文件比较常用参数:-d file/ 检查file 是否存在并是一个目录-e file/ 检查file 是否存在-f file/ 检查file 是否存在并是一个文件-r file/ 检查file 是否存在并可读-s file/ 检查file 是否存在并非空-w file/ 检查file 是否存在并可写-x file/ 检查file 是否存在并可执行-O file/ 检查file 是否存在并属当前用户全部File1 nt file2/ 检查 file1 是否逼 file2 新F
6、ile1 ot file2/ 检查 file1 是否逼 file2 旧检测目录-d检测是否是目录并且是否存在, 当将文件放置到目录下时特别有用。-d $HOME检测对象是否存在-e 可以在使用对象文件或目录前,检查其是否存在可编辑资料 - - - 欢迎下载精品名师归纳总结检查文件要确定指定的对象是个文件,不许用f 比较检查是否可读在从文件中读取数据前,应用-r 对文件可读性进行测试检查空文件可以用 -s 检查文件是否为空,在删除文件时要特殊检查。检查是否可写在向文件写内容前,先用 -w 检查是否可写检查文件日期在编写安装脚本的时候进行日期检查特别有用 检查要安装的文件是否比已安装的文件晚-nt
7、 判定一个文件是否逼另一个文件新,-ot 判定一个文件是否比另一个文件老。15 复合条件测试If then 语句可以使用布尔规律组合测试。两种布尔规律可用:&与规律|或规律可编辑资料 - - - 欢迎下载精品名师归纳总结格式: condtion1 & condition2 condition1 | condition216 If-then 的高级属性1:用于数学表达式的双圆括号2:用于高级字符串处理功能的双方括号双圆括号格式: 表达式作用:可支持数学表达式的扩展自增 / 减,与、或、非、左移, 右移,取反等双方括号双方括号可支持对字符串的高级处理。格式: 表达式 可编辑资料 - - - 欢迎下载精品名师归纳总结* 特殊留意细节1: shell 脚本处理数据时,只能处理整数。假如数据为浮点数, 应特殊处理。2:If-then 语句不能测试跟命令的退出状态码无关的条件 if 后面的条件必需是命令的退出状态码 。假如想实现无关条件测试, 可用 test 命令 if 依旧是测试命令退出状态码, test 命令。可编辑资料 - - - 欢迎下载
限制150内