1
我刚开始shell脚本和测试目的,我试图创建我个人使用的脚本。 我有一个家庭文件服务器,我同步和有时和我试图创建一个交互式脚本,所以我可以使MP3同步任务更容易。shell脚本 - 虽然条件检查范围失败
这里是我的脚本:
#!/bin/bash
##############################################
############ MP3 SYNC SCRIPT ##############
##############################################
#### REV: 01 20/07/2015
#### Author: Marcio Ribeiro
echo -e "Sincronizar do storage para o note (escolha 01) ou do note para storage (escolha 02): \n 01 Destino final Note: \n 02 Destino final Storage:"
read DESTINO
DESTINO_CK=[0]-[12]
while [ $DESTINO != $DESTINO_CK ] ; do
read -p "Por favor escolha entre 01 ou 02:" DESTINO
done
echo -e "Digite a letra inicial da banda que deseja utilizar na sincronização em CAPS"
read LETRA
LETRACK={AZ}
while [ "$LETRA" != $LETRACK ]; do
read -p "Digite a letra inicial da banda que deseja utilizar na sincronização em CAP:" 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
我掌握了一些基本的工作,现在我想用户交互限制到我真正想要的,但我失败了。 基本上在第一个用户提示我只想接受01或02作为输入,并在第二个用户提示只有一个大写字母。 任何人都有一个线索,为什么我在这么简单的事情上失败?
'='和'!='做精确匹配,而不是模式匹配。 – Barmar
@Barmar:除非在[[...]]中。 – choroba
'echo -e“$(cmd)”'是一种反模式。只需执行该命令。 –