《26Shell编程.ppt》由会员分享,可在线阅读,更多相关《26Shell编程.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Shell编程交互和非交互shell1、交互模式交互模式意为shell程序获取用户的输入并执行命令。2、非交互模式在这种模式下,shell不与用户交互而是读入保存在一个文件中的命令或数据并执行它们,当到达文件结尾时,shell退出。Shell的启动1、启动交互模式的shell当执行命令后,程序启动了一个交互模式的shell。用户可以在提示符后执行/bin/sh命令来启动一个shell并设置为交互模式。2、启动非交互式模式的shell#/bin/bash filename#./filename创建和运行shell 程序1、创建shell程序Shell程序又称为shell脚本,一个shell脚本是
2、保存在一个文件中的命令列表。创建shell,首先应使用文本编辑器来创建一个文件,但应按照shell的语法格式来编写程序。2、运行shell需做两件事:A、使它可执行(怎样做?)创建和运行shell 程序(续)#chmod a+x filenameB、确保shell运行正确要在文件的开头一行增加如下一行代码:#!/bin/bash注意:位于shell脚本的第一行,这样才能使该shell运行脚本。没有这一行,以当前shell运行脚本。不位于第一行,则认为是注释。创建和运行shell 程序(续)命令行格式如下:command1;command2;如:以下为一个完整的脚本。#!/bin/shdate;
3、whoShell中的变量1、定义变量name=valueFRUIT=peach定义变量FRUIT,并为其赋值peach2、变量名用户的变量名只能包含字母(az、AZ)、数字或者下划线,且只能以字母、下划线开头。Shell中的变量3、变量值shell可以存储任何变量值。如:FRUIT=2apples等。但,如果赋带有空格的变量时,要加引号。4、访问变量值变量名前加“$”即可。echo$FRUITshell中的替换1、文件名替换可以使用*、?、characters等通配符。cd /tmptouch a1.doctouch a2.doctouch a12.docls a*ls a?.docls a1
4、2.docshell中的替换可以通过!否定一个集合ls!a*(2)命令替换DATE=date(使用后引号)echo$DATE(3)算术替换testvalue=$(1+4/3)流控制语句1、if语句if list1;thenlist2elif list3;thenlist4elselist5fi流控制语句例#!/bin/bashif “$SHELL”=“/bin/bash”;thenecho“login shell is the bash!”elseecho“your shell is not bash but$SHELL”fi流控制语句2、case语句case word inpattern1)list1;pattern2)list2;esac流控制语句例、#/bin/bashcase“$SHELL”in*sh)echo“*sh”;ch|dh|0-90-8)echo“!sh”;esac循环while expressiondolistdonefor var in do done实例#!/bin/bashXYZ=1while “$XYZ”=“1”doXYZ=2done