我遇到了脚本问题我在bash上写了关于备份或恢复的问题。我试图做的是检查参数,然后如果没有出现,则循环直到提供名称或退出。我可以检查参数并循环退出,但我遇到的问题是获取用户输入,然后使用它作为备份文件名。这是我的脚本到目前为止,有人可以建议如何循环文件名/ q以及如何获取所述文件名输入以与脚本的其余部分一起使用?
#!/bin/bash
# Purpose - Backup world directory
# Author - Angus
# Version - 1.0
FILENAME=$1.tar.gz
SRCDIR=World
DESDIR=backupfolder
if [ $# -eq 0 ]
then
echo "No filename detected. To use this utility a filename is
required. Usage:tarscript filename"
else
echo "The filename to be used will be $filename"
fi
while [ $# -eq 0 ]
do
echo "Please provide a filename or press q to exit."
read response
if [ $response == 'q' ]
then
exit
else [ $response == '$FILENAME' ]
echo -n 'Would you like to backup or restore? (B/R)'
read response
if [ $response == 'B' ]
then
tar cvpzf $DESDIR/$FILENAME $SRCDIR
echo 'Backup completed'
exit
fi
fi
done
答案 0 :(得分:1)
我终于设法让它最终运转起来。我意识到我的错误是由于Jens并且改变了足够的东西,它现在响应输入和提供的参数。当然,代码几乎是我所有变化的两倍,但是嘿嘿。