实训项目7
一、实训目的
- 掌握Shell环境变量、管道、输入输出重定向的使用方法。
- 熟悉Shell程序设计。
二、项目背景
某单位的系统管理员计划用Shell编程编写一个程序实现USB设备的自动挂载。程序的功能如下:
- 运算程序时,提示用户输入“y”或“n”,确定是不是挂载USB设备。
- 如果用户输入“y”,则挂载这个USB设备。
- 提示用户输入“y”或“n”,确定是不是复制文本。
- 如果用户输入“y”,则显示文件列表,然后提示用户是否复制文件。
- 程序根据用户输入的文件名复制相应的文件,然后提示是否将计算机中的文件复制到USB中。
- 完成文件的复制以后,提示用户是否卸载USB设备。
三、实训内容
练习Shell程序设计方法及Shell环境变量、管道、输入输出重定向的使用方法。
四、实训步骤
- 在Linux系统的图形界面下利用Vi编辑器输入程序代码,部分主要程序代码如下。
这是实验指导书中给的部分代码,我认为这些代码并不完美,我在下面给出了我自己加以完善后的代码
- 将文件保存为/program/usb.sh,并利用chmod命令修改usb.sh的权限,使其可以执行。
mkdir program && cd program
vi usb.sh
/*
输入shell脚本代码
i 插入模式
:x 保存退出
*/
chmod 777 usb.sh
- 设置PATH环境变量,将/program目录添加到系统的PATH环境变量中,使得每次直接执行usb.sh就可以完成U盘的自动挂载。
PATH=$PATH:/root/program
- 去掉usb.sh的执行权限,将改文件的内容分别利用输出重定向输出到/program/usbbak.sh文件和屏幕上。
chmod 666 usb.sh
cat usb.sh > usbbak.sh
echo usbbak.sh
五、实训思考题
1