shell编程2.ppt_第1页
shell编程2.ppt_第2页
shell编程2.ppt_第3页
shell编程2.ppt_第4页
shell编程2.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、知识考察,1、,考察,题目1:#ls file1 file2 file3;此时,$,$#,$0,$1分别是何值? 题目2:如何显示和设置当前搜索路径,任务一:学习流程控制结构,分支 语句,if语句 case 语句,循环 语句,转移 语句,while 语句 for 语句,Break语句 Continue语句,分支结构,If 语句 格式: if 条件1 then 命令表1 elif 条件2 then 命令表2 else 命令表3 fi,简单例子:if_then,#! /bin/sh #a exam to show “if_then” echo “please input a filename:”

2、read filename if ! e $filename then echo “file not exist” elif -d $filename then echo “$filename is a directory” else if -f $filename then echo “$filename is a commom file” elif -b $filename then echo “$filename is a device file” Else echo “unknown” fi,简单例子:改进的if_then,#! /bin/sh #read filename if $#

3、 -eq 0 then echo “please input a filename:” read filename else filename=$1 fi # if ! e $filename then echo “file not exist” elif -d $filename then echo “$filename is a directory” else if -f $filename then echo “$filename is a commom file” elif -b $filename then echo “$filename is a device file” Else

4、 echo “unknown” fi,分支结构,Case 语句 格式: case 字符串 in 值1| 值2) 语句块1; 值3| 值4) 语句块2; 值5| 值6) 语句块3; esac,一个例子:case,#!/bin/sh # if $# -ne 1 then echo Usage:string exit 1 fi # case $1 in 0-9 ) echo integer; a-z ) echo lowercase ; A-Z ) echo uppercase ; * ) echo special character; esac,循环语句,For 循环 格式: for 循环变量 i

5、n 列表 do 语句块 done,简单例子:for,#!/bin/sh #a example to show for for file in * do echo “filename :$file ” done,ls,循环语句,while 循环 格式: while $int eq 10 do 语句块 done,一个例子:while,#!/bin/sh int=0 while int le 10 do int= expr $int + 1 echo $int done,一个例子: until语句,#!/bin/sh #a example to show “until” Echo “Press Y/

6、y,then stop” Read input Until $input eq “Y” | $input eq “y” do Echo “error,please input again:” Read input Done Echo “stop”,Vi 简介,vi取名于visual,意为“看见的, 视觉的”。它是一个全屏幕文本编辑程序。在Linux系统中vi是最常用的编辑程序。 Vi的三种工作模式:命令模式、插入模式和末行模式,Vi编辑器的启动,Vi 的命令格式: vi 选项 文件名 若文件不存在,将创建此文件; 若文件存在,则将其拷贝到一个临时缓冲区。光标定位在该缓冲区第1行第1列的位置上。

7、,Vi的插入模式,运行vi命令后,进入的是命令模式。从命令模式进入插入模式,需输入进入插入模式的命令。 若不能确定现在vi是在哪个模式下,按下ESC键以使其在命令模式下,然后再从这里继续;如果按下ESC键时已经在命令模式了,系统会鸣叫且屏幕闪一下,通知你已在命令模式中。,进入插入模式的命令,命令模式下的基本命令,从编辑模式返回命令模式,按Esc键即可。 基本vi命令 x 或nx删除一个或n个字符 dd或ndd删除一行或n行 yy或nyy拷贝当前行或n行至缓冲区 p将缓冲区内容写至光标位置 u取消上次操作 /str向后移至有str位置 ?Str向前移至有str位置,Vi编辑器的退出,在命令模式下

8、,按“:”即进入末行模式。先按ESC键,以确保当前vi的状态为命令方式。 末行模式的命令 :w 将缓冲区内容写至文件 :q退出 :q!不保存退出 :wq或zz :x存盘退出,上次作业: 添加一个新用户,1、创建一个新用户,名字为自己姓名拼音缩写。 2、将口令设置为用户名+生日。 3、创建一个新组soft 4、将用户添加到soft组中。 5、将用户名,密码,及/etc/passwd、/etc/shadow、/etc/group等文件中账户信息变化情况显示到屏幕,作业例子,#!/bin/sh #a example to show add a user Echo “ please input use

9、rname :” Read name Echo “ please input you birthday:” Read birth useradd $name Passwd $name #Echo “$name$birth” |passwd stdin $name Groupadd soft Usermod g soft $name Echo “$name $name$birth “ Cat /etc/passwd |grep “$name” Cat /etc/shadow |grep “$name” Cat /etc/group |grep soft,作业增强版:批量添加用户,#!/bin/sh #a example to show add more users Int=0 for name in cat name.txt do Int=expr $int + 1 Useradd $name Usermod g soft $name Echo “$name123456” |passwd stdin $name Cat

温馨提示

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

评论

0/150

提交评论