在Linux操作系統中,如果插入一個USB設備,需要用mount掛載命令才能實現這個設備的加載,下面寫一個USB設備掛載與文件復制的Shell程序,程序需求:
1、運行時,提示用戶輸入“y”或者“Y”,確定是否掛載USB設備,U盤文件/dev/sdc1
- if[$ANS="Y" -o $ANS = "y"]
- then mount -t vfat /dev/sdc1 /mnt/usb
2、確定是否復制文件到/root
最好用$?判斷一下是否復制成功,$? -eq 0,表示復制成功
- while[$ANS="Y" -o $ANS = "y"]
- do
- ls -lha /mnt/usb
- echo "type the filename you want to copy"
- read FILE
- cp /mnt/usb/"$FILE" /root
3、確定是否復制文件到USB設備中
- echo "Do you want to copy files to USB(y/n)"
- read ANS
- while[$ANS="Y" -o $ANS = "y"]
- do
- ls -lh /root
- echo "type the filename you want to copy"
- read FILE
- cp /root/"$FILE" /mnt/usb
- if[ $? -eq 0];then
- echo "Finished"
- else
- echo "Error"
- fi
- echo "any other files(Y/N)"
- read ANS
- done
完整的腳本:
- #!/bin/bash
- #autousb
- echo "Welcome to USB"
- echo "Do you want load USB(Y/N)"
- read ANS
- if[$ANS="Y" -o $ANS = "y"];
- then mount -t vfat /dev/sdc1 /mnt/usb
- echo "Do you want to copy files to /root(y/n)?"
- read ANS
- while[$ANS="Y" -o $ANS = "y"]
- do
- ls -lha /mnt/usb
- echo "type the filename you want to copy"
- read FILE
- cp /mnt/usb/"$FILE" /root
- if[ $? -eq 0];then
- echo "Finished"
- else
- echo "Error"
- fi
- echo "any other files(Y/N)"
- read ANS
- done
- fi
- echo "Do you want to copy files to USB(y/n)"
- read ANS
- while[$ANS="Y" -o $ANS = "y"]
- do
- ls -lh /root
- echo "type the filename you want to copy"
- read FILE
- cp /root/"$FILE" /mnt/usb
- if[ $? -eq 0];then
- echo "Finished"
- else
- echo "Error"
- fi
- echo "any other files(Y/N)"
- read ANS
- done
- echo "Do you want to umount?(y/n)"
- read ANS
- if[$ANS="Y" -o $ANS = "y"];then
- umount /mnt/usb
- else
- echo "umount error"
- fi
- echo "GoodBye!!"