您好 Stackoverflow 社区,
我在设计 shell 脚本时遇到问题...
#!/bin/sh
while :
do
clear
echo "-----------------------------
-----------"
echo "***************Main Menu****************"
echo "----------------------------------------"
echo "1. Backup Word Document"
echo "2. Backup Spreadsheet"
echo "3. Backup Picture"
echo "4. Restore Word Documents"
echo "5. Restore Spreadsheet"
echo "6. Restore Picture"
echo "7. EXIT"
echo "----------------------------------------"
pause
echo -n "Enter your menu choice [1-7]:"
read yourch
case $yourch in
1) echo ; tar -cvf /Files/*.doc /WP/ ; read ;;
1) echo "Today is"; date +%Y%m%d-%H:%M 2>&1 ; echo "Press a key..." ; read ;;
2) echo ; tar -cvf /Files/*.xls /EXCEL/ ; read ;;
2) echo "Today is"; date +%Y%m%d-%H:%M 2>&1 ; echo "Press a key..." ; read ;;
3) echo ; tar -cvf /Files/*.jpg /PICS/ ; read ;;
3) echo "Today is"; date +%Y%m%d-%H:%M 2>&1 ; echo "Press a key..." ; read ;;
4) echo ; tar xvzf /WP/*.doc ; read ;;
5) echo ; tar xvzf /EXCEL/*.xls ; read ;;
6) echo ; tar xvzf /PICS/*.jpg ; read ;;
7) exit 0 ;;
*) echo "Please press a number between 1 to 7";
错误显示'cript: line 21: syntax error near unexpected token 'in '脚本:第 21 行:'case $yourch
有谁知道如何绕过这个错误?基本上我想做的是能够备份一组文件名为“.doc”的文件并将它们放在备份文件夹中。然后我可以将文件从该文件夹恢复到另一个文件夹。
亲切的问候,
本
最佳答案
我认为您缺少 esac
和 done
语句。
好的。使用这个:
#!/bin/sh
while :
do
clear
echo "-----------------------------
-----------"
echo "***************Main Menu****************"
echo "----------------------------------------"
echo "1. Backup Word Document"
echo "2. Backup Spreadsheet"
echo "3. Backup Picture"
echo "4. Restore Word Documents"
echo "5. Restore Spreadsheet"
echo "6. Restore Picture"
echo "7. EXIT"
echo "----------------------------------------"
echo -n "Enter your menu choice [1-7]:"
read yourch
case $yourch in
1) echo ;
tar -cvf /Files/*.doc /WP/ ; read ;
echo "Today is"; date +%Y%m%d-%H:%M 2>&1 ; echo "Press a key..." ; read ;;
2) echo ; tar -cvf /Files/*.xls /EXCEL/ ; read ;
echo "Today is"; date +%Y%m%d-%H:%M 2>&1 ; echo "Press a key..." ; read ;;
3) echo ; tar -cvf /Files/*.jpg /PICS/ ; read ;
echo "Today is"; date +%Y%m%d-%H:%M 2>&1 ; echo "Press a key..." ; read ;;
4) echo ; tar xvzf /WP/*.doc ; read ;;
5) echo ; tar xvzf /EXCEL/*.xls ; read ;;
6) echo ; tar xvzf /PICS/*.jpg ; read ;;
7) exit 0 ;;
*) echo "Please press a number between 1 to 7";;
esac
done
关于Linux Shell 脚本 - 备份/恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8241493/