77范文网 - 专业文章范例文档资料分享平台

linux课程设计(学生版)(4)

来源:网络收集 时间:2020-05-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Linux Shell 编程参考文档

(1)用 vi 编辑程序

[root@localhost bin]#vi test5 #! /bin/Bash read ar1 read ar2

[ “$ar1” = “$ar2” ]

echo $? #?保存前一个命令的返回码 (2)设置权限

[root@localhost bin]#chmod +x test5 (3)执行

[root@localhost root]#./ test5 aaa bbb 1

注意:

”[”后面和”]”前面及等号“=“的前后都应有一个空格;注意这里是程序的退出情况, 如果 ar1 和 ar2 的字符串是不想等的非正常退出,输出结果为 1。

(1)用 vi 编辑程序

实例 1-7: 比较字符串长度是否大于零

[root@localhost bin]#vi test6 #! /bin/Bash read ar

[ -n “$ar” ] echo $? //保存前一个命令的返回码 (2)设置权限

[root@localhost bin]#chmod +x test6 (3)执行

[root@localhost bin]#./ test6 0

运行结果 1 表示 ar 的小于等于零,0 表示 ar 的长度大于零。

注意:

1-5-2 数字比较

在 Bash Shell 编程中的关系运算有别于其他编程语言,用表 1-2 中的运算符用 test 语句 表示大小的比较。

表 1-2 用 test 比较的运算符

Linux Shell编程 第12页/共26页

Linux shell编程参考文档

运算符号 -eq -ge -le -ne -gt -lt

含 相等 大于等于 小于等于 不等于 大于 小于

义 实例 1-8:比较两个数字是否相等

(1)用 vi 编辑程序

[root@localhost bin]#vi test7 #! /bin/Bash read x,y

if test $x –eq $y

then

echo “$x=$y”

else

echo “$x!=$y”

fi

(2)设置权限

[root@localhost bin]#chmod +x test7 (3)执行

[root@localhost bin]#./ test7 50 100 50!=100

[root@localhost bin]#./ test7 150 150 150= =150

1-5-3 逻辑操作

在 Shell 程序设计中的逻辑运算符如表 1-3 所示。

1-3 Shell 中的逻辑运算符

运算符号 ! -a -o 含 义 反:与一个逻辑值相反的逻辑值 与(and):两个逻辑值为“是”返回值为“是”,反之为“否” 或(or): 两个逻辑值有一个为“是”,返回值就是“是”

实例 1-9:分别给两个字符变量赋值,一个变量赋予一定的值,另一个变量为空,

Linux Shell编程 第13页/共26页

Linux Shell 编程参考文档

求两者的与、或操作。 (1)用 vi 编辑程序

[root@localhost bin]#vi test8 #! /bin/Bash part1 =”1111”

part2 =” ” #part2 为空 [ “$ part1” –a “$ part2”] echo $? #保存前一个命令的返回码 [ “$ part1” –o “$ part2”] echo $? (2)设置权限

[root@localhost bin]#chmod +x test8 (3)执行

[root@localhost bin]#./ test8 1 0

1-5-4 文件操作

文件测试操作表达式通常是为了测试文件的信息,一般由脚本来决定文件是否应该备份、 复制或删除。由于 test 关于文件的操作符有很多,在表 1-4 中只列举一些常用的操作符。

表 1-4

文件测试操作符 含 义 运算符号 -d -f -L -r -s -w -x 对象存在且为目录返回值为“是” 对象存在且为文件返回值为“是” 对象存在且为符号连接返回值为“是” 对象存在且可读则返回值为“是” 对象存在且长度非零则返回值为“是” 对象存在且且可写则返回值为“是” 对象存在且且可执行则返回值为“是”

实例 1-10:判断 zb 目录是否存在于/root 下。

(1)用 vi 编辑程序

[root@localhost bin]#vi test9 #! /bin/Bash [ -d /root/zb ]

echo $? #保存前一个命令的返回码

(2)设置权限

[root@localhost bin]#chmod +x test9

(3)执行 [root@localhost bint]#./ test9

Linux Shell编程 第14页/共26页

Linux shell编程参考文档

(4)在/root 添加 zb 目录

[root@localhost bin]#mkdir zb

(5)执行

[root@localhost bin]#./test9 0

注意:

运行结果是返回参数“$?”,结果 1 表示判断的目录不存在,0 表示判断的目录不存在。

目录下的信息,如为文件显示文件的内容。

实例 1-11:编写一个 Shell 程序 test10,输入一个字符串,如果是目录,则显示

(1)用 vi 编辑程序

[root@localhost bin]#vi test10 #! /bin/Bash

echo “Please enter the directory name or file name” read DORF

if [ -d $DORF ] then ls $DORF

elif [ -f $DORF ] then

cat $DORF else

echo “input error! ” fi

(2)设置权限

[root@localhost bin]#chmod +x test10 (3)执行

[root@localhost bin]#./ test10

1-6 循环结构语句

?? Shell 的循环语句

Shell 常见的循环语句有 for 循环、while 循环语句和 until 循环。

1-6-1 for 循环

语法:

Linux Shell编程 第15页/共26页

Linux Shell 编程参考文档

for 变量 in 列表 do

操作 done

变量要在循环内部用来指列表当中的对象。

注意:

列表是在 for 循环的内部要操作的对象,可以是字符串也可以是文件,如果是文件则为文件

名。

两行输出。

实例 1-12:在列表中的值:a,b,c,e,I,2,4,6,8

用循环的方式把字符与数字分成

(1)用 vi 编辑脚本程序 test11 [root@localhost bin]#vi test11 #! /bin/Bash

for i in a,b,c,e,I 2,4,6,8 do echo $i done

(2)设置权限

[root@localhost bin]#chmod +x test11 (3)执行

[root@localhost bin]#./ test11 a,b,c,e,i 2,4,6,8

注意:

在循环列表中的空格可表示换行。

实例 1-13:删除垃圾箱中的所有文件。

分析:在本机中,垃圾箱的位置是在$HOME/.Trash 中,因而是在删除$HOME/.Trash 列表当 中的所有文件,程序脚本如下。 (1)用 vi编辑脚本程序 test12 [root@localhost bin]#vi test12 #! /bin/Bash

for i in $HOME/.Trash/* do

rm $i

echo “$i has been deleted!” done

Linux Shell编程 第16页/共26页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库linux课程设计(学生版)(4)在线全文阅读。

linux课程设计(学生版)(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1025775.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: