理论教育 Linux操作系统:Shell编程实例

Linux操作系统:Shell编程实例

时间:2023-11-25 理论教育 版权反馈
【摘要】:/dev/null 表示一个空设备。◎注意 在Linux 系统中不支持mv .txt .doc 这样的更名命令形式, 如果需要将文件成批地更名最好编写一个Shell 脚本文件。图4.11例4-14 的运行结果思考: 如果不想让图4.11 的回显内容显示在屏幕上, 应该如何处理?运行结果如图4.14 所示, 加参数star 可以启动火狐浏览器; 加参数stop 可以结束火狐浏览器; 加参数restart 重新后台启动火狐浏览器。图4.14例4-17 的运行结果 编写脚本, 检查密码, 如果用户三次输入密码均错误, 则退出脚本。

Linux操作系统:Shell编程实例

【例4-12】 编写脚本程序判断当前用户是否为root 管理员, 如果是, 则执行tar 对/etc/目录执行备份。

◎注意

&>/dev/null 指无论正确的还是错误的输出都重定向到空设备, 就是不要输出信息。 /dev/null 表示一个空设备。

其运行结果如图4.9 所示。

图4.9 例4-12 运行结果

如果是管理员执行该脚本程序, 执行tar 对/etc 目录执行备份, 备份到/root 目录下,备份文件为etc.tar.gz; 如果是普通用户该功能不能执行。

【例4-13】 编写脚本程序, 将当前目录下所有的.txt 文件更名为.doc 文件。

◎注意

(1) 在Linux 系统中不支持mv ∗.txt ∗.doc 这样的更名命令形式, 如果需要将文件成批地更名最好编写一个Shell 脚本文件。

(2) 在for 语句的参数列表中使用了“∗”通配符。

(3) 在程序中用到basename 命令, 该命令从随后的文件名剥去指定的后缀。

(4) dirname 获取文件的目录名。

执行结果: 创建测试文件aa.txt、 bb.txt、 cc.txt, 如图4.10 所示。

图4.10 例4-13 的运行结果

【例4-14】 使用user.txt 文件中的人员名单, 在计算机中自动创建对应的账户并配置初始密码为“123456”。

脚本执行, 需要提前准备一个user.txt 文件, 该文件中包含若干用户名信息。

其运行结果如图4.11 所示。(www.daowen.com)

图4.11 例4-14 的运行结果

思考: 如果不想让图4.11 的回显内容显示在屏幕上, 应该如何处理?

创建成功可以通过查看用户账户文件验证, 如图4.12 所示。

图4.12 查看用户账户文件

【例4-15】 每隔5 分钟检查指定的用户是否登录系统。

如果指定用户是已登录用户, 运行结果如图4.13 所示, 若果是未登录用户5 分钟后会退出。

图4.13 例4-15 的运行结果

【例4-16】 根据时间备份/var/log 日志目录, 仅备份周三、 周五的数据。

执行eg4-16.sh 脚本, 如果是周三或者周五, 会将/var/log 日志目录备份到/root/src 中,并以当前日期作为备份文件名; 如果不是周三或周五, 输出“Today neither Wed nor Fri.”。

【例4-17】 编写firefox 火狐浏览器启动脚本, 支持start、 stop、 restart 功能。

运行结果如图4.14 所示, 加参数star 可以启动火狐浏览器; 加参数stop 可以结束火狐浏览器; 加参数restart 重新后台启动火狐浏览器。

图4.14 例4-17 的运行结果

【例4-18】 编写脚本, 检查密码, 如果用户三次输入密码均错误, 则退出脚本。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈