linux shell编程 ppt,《LinuxSHELL编程》PPT课件.ppt

《《LinuxSHELL编程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《LinuxSHELL编程》PPT课件.ppt(35页珍藏版)》请在人人文库网上搜索。

1、Linux SHELL编程,SHELL基础,一什么是SHELL Shell是一种具备特殊功能的程序,它是介于使用者和 UNIX/Linux 操作系统之核心程序(kernel)间的一个接口。众所周知,对计算机下命令得透过命令(command)或是程序(program);程序有编译器(compiler)将程序转为二进制代码,可是命令呢?其实shell 也是一支程序,它由输入设备读取命令,再将其转为计算机可以了解的机械码,然后执行它。 各种操作系统都有它自己的 shell,以 DOS 为例,它的 shell 就是 。UNIX/Linux 将 shell 独立于核心程序之外,使得它就如同一般的应用程序。

2、,可以在不影响操作系统本身的情况下进行修改、更新版本或是添加新的功能。,二Shell 的功用 为了确保任何提示符号下输入的命令都能够适当地执行。shell 担任的工作包括有: 1. 读取输入和语法分析命令列 2. 对特殊字符求值 3. 设立管线、转向、和幕后处理 4. 处理讯号 5. 设立程序来执行,SHELL基础,Bash shell 编程,Linux下的SHELL编程文件必须存在/BIN目录下 因为文件初始没有赋予执行权限,我们要想运行该文件,必须赋予文件执行权限 操作命令:CHMOD +X 文件名,一、环境变量 环境变量以ASCII字符串在座,环境变量不仅由SHELL脚本用,还可以由编译。

3、过后标准程序使用。当在BACH中导出环境变量时,以后运行的程序都可以读取。 Bash中定义环境变量的标准方法是: 变量名=变量值 例如: MYVAR=LX 定义了一个名为MYVAR的环境变量(变量一般用大写) 注意等号=的两边不能有空格,定义一个字时引号可以省略,如果定义的字符串中有空格则必须使用引号,单引号或双引号都可以 在读取变量时前面要加$ 例如: ECHO $MYVAR :输出LX,二.常用命令 1、ECHO 功能: 将结果输出到屏幕,如果加了改向操作可以输出到文件或变量 语 法: echo -ne字符串或 echo -help-version 补充说明:echo会将输入的字符串送往标。

4、准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。,参 数:-n 不要在最后自动换行 -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: a 发出警告声; b 删除前一个字符; c 最后不加上换行符号; f 换行但光标仍旧停留在原来的位置; n 换行且光标移至行首; r 光标移至行首,但不换行; t 插入tab; v 与f相同; 插入字符; nnn 插入nnn(八进制)所代表的ASCII字符; -help 显示帮助 -version 显示版本信息,2、date命令 date 能用来显示或设定系统的日期和时间,在显示方面,使用者能设定欲显示的格式,格式设定为一个。

5、加号后接数个标记,其中可用的标记列表如下 :,时间方面 : : 打印出% %n : 下一行 %t : 跳格 %H : 小时(00.23) %I : 小时(01.12) k : 小时(0.23) %l : 小时(1.12) %M : 分钟(00.59) %p : 显示本地 AM 或 PM %r : 直接显示时间 (12 小时制,格式为 hh:mm:ss APM) %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S : 秒(00.61) T : 直接显示时间 (24 小时制) %X : 相当于 %H:%M:%S %Z : 显示时区,日期方面 : %a : 。

6、星期几 (Sun.Sat) %A : 星期几 (Sunday.Saturday) %b : 月份 (Jan.Dec) %B : 月份 (January.December) %c : 直接显示日期与时间 %d : 日 (01.31) %D : 直接显示日期 (mm/dd/yy) %h : 同 %b,%j : 一年中的第几天 (001.366) %m : 月份 (01.12) %U : 一年中的第几周 (00.53) (以 Sunday 为一周的第一天的情形) %w : 一周中的第几天 (0.6) %W : 一年中的第几周 (00.53) (以 Monday 为一周的第一天的情形) %x : 直接。

7、显示日期 (mm/dd/yy) %y : 年份的最后两位数字 (00.99) %Y : 完整年份 (0000.9999) 若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmmCCYY.ss,其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数,3.read命令 接收键盘字符串到变量,回车结束。 例如: 设文件lx内容如下 Echo “please input you name” Read NAME Echo “Today: $(date +$D)” Echo “name: $name”,三、运算符 1、文件判。

8、断条件 条件 -e filename :表示存在为真 条件 -d filename :表示目录为真 条件 -f filename :表示是文件为真 条件 -r filename :表示可读为真 条件 -w filename :表示可写为真 条件 -x filename :表示可执行为真 File1 nt file 2 表示若file1比file2新为真 File1 ot file 2 表示若file1比file2旧为真,举例: Read x If -e $x ;then Echo “this file exist!” else Echo “this file doesn”t exist!” f。

9、i,2.字符串判断条件 条件 -z string :表示string长度为零,则为真 条件 -n string :表示string长度非零,则为真 条件 string : 表示非空为真 条件 $x=string :表示相同为真 条件 $x!=string :表示不相同为真,举例说明 例1 S=“a” If -z $S ;then Echo “yes” Else Echo “no” fi,例2 Read s If $S ;then Echo “OK!” ELSE ECHO “NULL” FI,3.数值判断条件 条件 n1 eq n2 :表示等于 条件 n1 ne n2 :表示不等于 条件 n1 。

10、lt n2 :表示小于 条件 n1 le n2 :表示小于等于 条件 n1 gt n2 :表示大于 条件 n1 ge n2 :表示大于等于,举例说明 X=3 Read y If $x lt y;then Echo “OK!” ELSE ECHO “ERROR” FI,4.数值运算符 + - * / % then Command Fi 2.完整的if语句格式为: If expression ; then Command1 Else Command2 Fi,3.多重IF语句格式 If expression1 ; then Command1 Elif expression2 ;then Comman。

11、d2 Elif expression3 ;then Command3 Else Command4 Fi,例: Read s If $s eq 1 ;then Echo “OK 1” Elif $s eq 2 ;then Echo “ok 2” Elif $s eq 3 ;then Echo “ok 3” Else Echo “error ,not 1 2 3” Fi,For 循环语句 命令格式如下 For var in $list Do Command Done,例: List = “12 34 56” For x in $list Do Echo number$x Done,例:判断/ETC。

12、下R开头的文件目录属性 如果是目录则输出它是一个目录,否则输出它是一个文件 For x in /etc/r* Do If -d $x ;then Echo “$x is (dir)” Else Echo “$x is (file)” Fi Done,While和until语句,While是条件为循环,until是条件为真退出循环 命令格式如下: While/Until expression Do Command Done,例:输出10个数 X=1 While $x le 10 Do Echo $x X=$($x+1) Done,X=1 Until $x ge 10 Do Echo $x X=$。

13、($x+1) Done,Case语句,命令格式如下 Case ftp in Start) Command; Stop) Command; Restart) Command; *) Command; Esac 其中*)是缺省条件执行,即没有匹配的条件,则执行*)后的语句,Case语句,例: Echo “Please choose P,D or Q” Echo “P is print a file” Echo “D is delete a file” Echo “Q levaving this program” Read s Case $s in p|P ) Echo “now pring a file!”; d|D) Echo “now delete a file”; q|Q ) Echo “now leaving”; *) Echo “input error”; esac。

你可能感兴趣的:(linux,shell编程,ppt)