4.11.2 编写程序的代码
根据4.10.1节的功能分析,编写出范例4-8所示的程序的代码。在编程时,需要注意判断语句、循环语句的使用,对用户的输入做出正确的判断。
【范例4-8】使用shell脚本实现USB设备加载与文件复制,实例代码如下所示。
实例代码4-8
- 01 #!/bin/bash
- 02 #autousb
- 03
- 04 echo "welcome to use AUTOUSB"
- 05 echo "do you want load usb(y/n) "
- 06 read ANSWER
- 07
- 08 if [ $ANSWER = "Y" -o $ANSWER = "y" ]
- 09 then mount -t vfat /dev/sda1 /mnt/usb
- 10 echo "do you want copy files to /root(y/n) "
- 11 read ANSWER
- 12 while [ $ANSWER = "y" -o $ANSWER = "Y" ]
- 13 do
- 14 ls -a /mnt/usb
- 15 echo "type the filename you want to copy"
- 16 read FILE
- 17 cp /mnt/usb/"$FILE" /root
- 18 if [ $ –qe 0 ];then
- 19 echob " copy finished"
- 20 else
- 21 echob " copy errored "
- 22 fi
- 23 echo "any other files(y/n) "
- 24 read ANSWER
- 25 done
- 26 fi
- 27
- 28 echo "do you want to copy files to usb(y/n) "
- 29 read ANSWER
- 30 while [ $ANSWER = "y" -o $ANSWER = "Y" ]
- 31 do
- 32 ls -a /root
- 33 echo "type the filename you want to copy to usb"
- 34 read FILE
- 35 cp "/root/$FILE" /mnt/usb
- 36 if [ $ -qe 0 ];then
- 37 echob " copy file finished"
- 38 else
- 39 echob " copy file errored "
- 40 fi
- 41 echo "any other files(y/n) "
- 42 read ANSWER
- 43 done
- 44
- 45 echo "do you want to umount usb(y/n) "
- 46 read ANSWER
- 47 if [ $ANSWER = " y" -o $ANSWER = " Y" ] ;then
- 48 umount /mnt/usb
- 49 else
- 50 echo "Haven't umount!"
- 51 fi
- 52 echo "GoodBye!"
【运行结果】对这个文件添加可执行权限,在终端中输入下面的命令。- chmod +x 4.12.sh
输入下面的命令运行这个程序。- ./4.12.sh