linux操作系统课件3.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:40 大小:1.3MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

linux操作系统课件3.ppt

linux操作系统课件3.ppt

预览

免费试读已结束,剩余 30 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

环境变量是系统预定义的一些变量,如PATH,LOGNAME等变量,例如:echo$PATH查阅命令env相关文件:/etc/profile,~/.bash_profile,~/.bash_login~/.profileshell程序:一种解释执行的脚本(script)语言,类似于DOS下的.bat文件,但功能更强.shell是按行解释执行的,注释在行首加#,习惯文件的第一行以”#!/bin/sh”开头,指明使用哪种解释器.执行方式(三种):$sh<file.sh$shfile.sh首先修改shell程序的权限为用户可执行,如:$chmod755file.sh然后在命令行下直接输入:$./file.sh(未打通路径,若打通路径,./不需要)shell的变量通常只有字符类型,在shell编程中也会出现一些数值计算的量,但它们也是基于字符类型完成的。变量的赋值.例:UNIX=SystemV或UNIX=“SystemVOS”变量的引用:在变量名前加$,如$UNIX或${UNIX}${UNIX}tm打通路径:$PATH=$PATH:$HOME//$HOME代表需要添加到路径变量中的目录名不同的引号对shell变量产生不同的效果.1)单引号’’:shell将单引号中的内容看成纯粹的字符串,如:$file=report$echo’Thetimeis`date`,thefileis$file’结果:Thetimeis`date`,thefileis$file2)双引号””:shell对双引号中的特殊字符进行解释,如:$echo“Thetimeis`date`,thefileis$file”3)反引号``:对反引号中的内容作为shell命令执行,如:$TT=`date`$echo$TT变量的作用域shell变量也有局部定义和全局定义之分。不做特殊说明的变量均是局部变量,只在为它赋值的shell进程中起作用。要是变量在多个进程中都能起作用,通过export命令使其变为全局变量.见书本71页例子命令的位置变量在shell中命令的位置变量类似于C语言中argc和argv参数的功能,它们主要对命令行中各个参数的位置进行描述。记住$#,$?,$$,$!的定义$#位置参数的个数$?为前一命令返回的状态值(0为正常)$$当前shell进程的pid值$!最近访问的后台进程的pid值$*用单字符串显示传递参数例echoarg.sh内容如下:echo$#forVARin$*doecho$VARdone运行:$echoarg.shfirstsecondthird$0$1$2$3结果:3firstsecondthird变量的替换例:$echo“theCDPATHis$CDPATH”当$CDPATH未被赋值时,显示theCDPATHis容易让用户产生困惑.可使用:${var:-word}${var:=word}${var:+word}可将上例改为:$echo“theCDPATHis${CDPATH:-Undefined}”则显示:theCDPATHisUndefined格式:testexpre或[expre]当表达式的值为真时,test命令返回真值0,否则返回假值非0.对文件特性的测试:test–[dfrwxs]file对字符串内容的测试:建议访问变量使用”$var”的形式对整数的测试例:x1=“005”,x2=5,注意:$test“$x1”=“$x2”和$test“$x1”-eq“$x2”的区别if语句(1)无分支条件语句:ifthen(2)二分支条件语句:ifthenelse(3)多分支条件语句:ifthenelif格式:if[condition]thencommandsfi例:if[$#=1]thencp$1$HOME/user1fivi$1exit0格式:if[condition]thentrue-commandselsefalse-commandsfiP77例5.5格式:if[condition_1]thencommands_1elif[condition_2]thencommands_2elif[condition_3]thencommands_3…….elsecommands_nfi例5.7:#!/bin/shif[$#-lt3]thenecho“usage:`basename$0`arg1arg2arg3”>&2exit1fiecho“arg1:$1”echo“arg2:$2”echo“arg3:$3”例5.8:te