CH12-Shell脚本编程(3).pdf
《CH12-Shell脚本编程(3).pdf》由会员分享,可在线阅读,更多相关《CH12-Shell脚本编程(3).pdf(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第12讲 Shell脚本编程(3)James HoSept.2012复习 变量 变量的生命期 结构体 测试判断(,test)分支(if-then-fi,case-esac)循环(for-do-done,while,until)变量的生命期 一般情况下,shell或脚本中的变量都是局部变量,只在本shell或本脚本中有效。如果使用export命令输出变量,则变量可以被下层shell共享 无论怎样,下层的变量是无法传递到上层shell的。目录 函数 bash中定义的函数 数值运算 数组函数 函数是一组命令的名字 shell执行命令的顺序是:别名,函数,内部命令,外部命令 函数的定义function
2、 func_name()command list函数 示例(脚本中的函数)func1func2 示例(在当前环境中定义函数)greetings 使用source命令(或者.命令)激活函数 可以将函数保存到.profile中,登录之后直接可用。function greetings()echo Hi$1!Welcome to my world.;函数 规则:函数必须先定义再使用(所以在脚本中,函数体放在最前面)函数在当前环境中运行。与调用函数的脚本共享变量。函数接受位置变量(shell函数没有输入变量)函数中可以使用return返回最后一个命令的状态,或者给定的值。函数可以递归调用。函数 shel
3、l中预定义的函数 使用declare F或-f观察 set命令不仅列出环境变量,也列出函数数值运算 规则:表达式被自动转换成整形数 运算符与C的规则一致(形式,运算优先级)运算符无需使用转义符号 方法:(.)#计算 let intvar=arithematic#计算并赋值数值运算 运算符-算术运算运算符运算符意义意义+,-增量,减量+,-,*,/加,减,乘,除左移,右移%取余*幂(乘方)&,|,,按位与,按为或,按位异或,按位非,顺序运算数值运算 运算符 关系运算运算符运算符意义意义小于,大于=小于等于,等于,大于等于!=不等&逻辑与|逻辑或!逻辑非数值运算 示例(基本使用)echo$(23*
4、4/12)let a=12/2#!/bin/bash#name:caa=2;#赋值let a=a+4#使用let进行运算(a*=4)#双括号替代let进行运算a=a*4#重新赋值,不使用let,无法进行#运算!数值运算 示例(脚本)countup(p324)addall(p324)数值运算 示例:试写一脚本ndu,显示给定的目录(及其子目录)的磁盘使用情况,并根据情况选择B,KB,MB表示.1.命令du统计磁盘使用情况2.关于$var:-value引用变量var的值。如果var没定义,则使用value作为其缺省值数值运算for dir in$*:-.;doif -e$dir;thenresul
5、t=$(du-s$dir|cut-f1)let total=$result*1024echo-n Total for$dir=$total Bytesif$total-ge 1048576;thenecho ($(total/1048576)Mb)elif$total-ge 1024;thenecho ($(total/1024)Kb)fifidone数组 数组是带有下标变量的变量 定义方法:array=(val1 val2);单括号定义arraysubscribe=val;直接赋值 特点:1.下标从0开始,下标无需连续2.使用$arrayi的形式引用其值数组 数组的引用$arrayi#引用第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CH12 Shell 脚本 编程
限制150内