我刚开始编写shell脚本,出于测试目的,我正在尝试创建供个人使用的脚本。 我有一个家庭文件服务器,我有时会同步,我正在尝试创建一个交互式脚本,这样我就可以更轻松地完成mp3同步任务。
这是我的剧本:
this._id
我现在已经掌握了基础知识我试图将用户交互限制到我真正想要的但我失败了。 基本上在第一个用户提示符下我只想接受01或02作为输入,而在第二个用户提示符上只接受大写单个字母。 任何人都知道为什么我这么简单的事情失败了?
答案 0 :(得分:0)
我得到了它的工作,它不是一个漂亮的代码或最好的逻辑,但它的工作原理:
!/bin/bash
##############################################
############ MP3 SYNC SCRIPT ##############
##############################################
#### REV: 01 20/07/2015
#### Author: Marcio Ribeiro
echo -e "Sincronizar do storage para o note ( escolha 1 ) ou do note para storage ( escolha 2 ): \n 1: Destino final Note \n 2: Destino final Storage"
read DESTINO
until [ "$DESTINO" = "1" ] || [ "$DESTINO" = "2" ];
do
read -p "Por favor escolha entre 1 ou 2:" DESTINO
done
####
echo -e "Digite a letra inicial da banda que deseja utilizar na sincronização em CAPS"
read LETRA
LETRA_CK='[A-Z]'
while [[ "$LETRA" != $LETRA_CK ]];
do
read -p "Digite a letra inicial da banda que deseja utilizar na sincronização em CAPS:" LETRA
done
####
LEFT="/storage/Marcio/Mp3/${LETRA}/"
RIGHT="/data/mp3/${LETRA}/"
if [ $DESTINO = "01" ]; then
echo -e "`rsync -rvz ${LEFT} ${RIGHT}`; \n `ls -lha ${RIGHT}`"
else
echo -e "`rsync -rvz ${RIGHT} ${LEFT}`; \n `ls -lha ${LEFT}`"
fi
欢迎任何改进的想法。