linux shell ppt,linuxShell脚本.ppt

《linuxShell脚本.ppt》由会员分享,可在线阅读,更多相关《linuxShell脚本.ppt(40页珍藏版)》请在人人文库网上搜索。

1、Lesson09Shell脚本,复习,配置文件与source命令 特殊符号:? * ; $aa,Shell Scripts,set命令的其他用法: set 参数列表 效果:依次把各位置参数设置为参数列表中的值,从$1开始 举例: set date echo $1,$2,$3 注意:如果参数列表中第一个可能以-开头,则应该使用set 参数列表,例如: set -a -b -c set - -a -b -c echo $,Shell Scripts,shell算术运算(1/2): 可以使用 shell 结构来执行简单的整数运算。只需将特定的算术表达式用 $( 和 ) 括起,bash 就可以计算表达。

2、式 举例: echo $( 100 / 3 ) myvar=56 echo $( $myvar + 12 ) echo $( $myvar - $myvar ) myvar=$( $myvar + 1 ) echo $myvar,Shell Scripts,shell算术运算(2/2): 也可以使用“expr 表达式”来计算表达式的值。可以使用的运算符包括= = $a echo expr $a = $a,Shell Scripts,跟用户交互read: echo input u name: read name echo u name is $name 参数的读取: $0代表命令或者脚本名称,$。

3、1代表第一个参数,一直到9 实验,Shell Scripts,shift命令 作用:将参数左移 语法:shift N 含义:将命令行参数左移N个位置,默认为1 举例: echo $0 $1 $2 shift echo $0 $1 $2 shift 2 echo $0 $1 $2,Shell Scripts,常用的逻辑判断: -f 检测文件是否存在 -d 检测目录是否存在 -e 检测对象是否存在,对象可以是任何东西 -r 文件是否具备可读属性 -w 是否可写 -x 是否可执行 -s 文件是否非空 -u 文件是否具备SUID -g 文件是否具备SGID -k 文件是否具备sticky bit属性 。

4、then =相等否? echo myvar is number 1 fi if $myvar = 01 ; then =相等否? echo myvar is char 01 fi,Shell Scripts,字符串比较经典问题(引号重要性): var1=who am i var2=who if $var2 = who ; then echo oho fi if $var1 = who am i ; then echo yeah fi 应用字符串变量时最好把双引号加上,Shell Scripts,条件判断: 最简单的条件判断 if condition ;then action fi 注意: 在中。

5、,只能有一个判断式 在与之间,可以使用 then action elif condition2 ; then action2 elif condition3 ; then else actionx fi,Shell Scripts,问题1: 如果用户输入Y或者y就打印hello,否则打印bye,这个脚本该如何写? echo press any key to continue read key if $key = y | $key = Y ; then echo hello else echo bye fi,Shell Scripts,问题2: 根据用户输入进行判断,如果是目录,则列出目录下文件。

6、的数量,否则列出文件的大小和inode if test -f $1 then filename=$1 set ls -il $filename echo file $filename inode=$1 and size=$6 fi if -d $1 ; then count=ls $1 | wc -w echo directory $1 have $count files exit 0 fi,Shell Scripts,条件判断: 分支判断: case 字符串 in 串1) 动作1 ; 串2) 动作2 ; *) 动作3 esac,Shell Scripts,问题: 根据用户输入字符串的长度判断。

7、,如果长度为3,就在其前面加入00,如果为4,则加入0,其他情况则加入haha_,打印最后结果,该如何写? echo input a string: read str count=echo $str|wc -m case $count in 4) str=00$str ; 5) str=0$str ; *) str=haha_$str esac echo now str is :$str,Shell Scripts,循环: for语句: for(条件1;条件2;条件3) do action done for 变量 in 变量1 变量2 . do action done 注意:不带in部分时参数。

8、有命令行提供,Shell Scripts,简单for实例: for i in eric carol hexy do echo hello $i done for a in ./* do if -f $a ; then echo $a fi done,Shell Scripts,问题:如何读取所有命令行参数进行显示? declare -i i for a do i=i+1 echo $i parameter is $a done,Shell Scripts,循环: while语句:只要条件满足就一直执行 while 条件 do action done,Shell Scripts,循环: unti。

9、l语句:直到满足条件才退出 until 条件 do 动作 done,Shell Scripts,问题1:分别用while和until来实现打印1到10数字 declare -i i=1 while $i -le 10 do echo $i i=i+1 done until $i -gt 10 do echo $i i=i+1 done,Shell Scripts,问题2:写一个脚本,把所有参数计算所有参数之和 count=0 while $# != 0 do count=$($count + $1) #count=expr $count + $1 shift done echo count i。

10、s $count,Shell Scripts,函数定义 语法: 函数名称() 函数体 函数调用方法: 函数名称,Shell Scripts,函数举例: myvar=hello myfunc() myvar=one two three for x in $myvar do echo $x done #invoke function myfunc echo $myvar $x,Shell Scripts,解决函数中的名字空间问题,使用local: myvar=hello myfunc() local myvar=one two three for x in $myvar do echo $x done #invoke function myfunc echo $myvar $x,Shell Scripts,脚本调试: sh -nv scripts -n 不执行脚本,查询脚本语法,有错误就列出 -v 执行脚本之前,先将脚本内容提示在屏幕上 查看脚本实例(创建学生帐号),小结,正则表达式 set $(.) read 逻辑判断 if for while until 函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值