Сценарий для отправки файлов Привет, ребята! Спасибо, что всегда помогали. У меня есть еще одна проблема, и мне нужно немного разобраться, как ее исправить.
См. Приведенный ниже сценарий и полученную мной ошибку. Я не понимаю, почему это происходит, я неправильно использую продолжение?
#!/bin/bash -x
# @(#) File: filepush.sh
# ---------------------------------------------------------------------------
# Modication History:
# Date Name Description
# 12/10/2014 Emmanuel Iroanya Script to copy a file to all hosts listed in serverlist file
# ---------------------------------------------------------------------------
source /opt/mgr/conf/file.conf
source /opt/mgr/conf/dest.conf
HOSTS=/opt/mgr/conf/$1serverlist.conf
echo "Are you sure you want to copy $file to the list of $1 servers"
echo "This may take a while!!"
echo -n "Enter 'y' or 'n':"
read CHOICE
case "$CHOICE" in
y|yes|Yes) while read line
do
ssh "$line" "mkdir -p $dest" && scp -r "$file" "$line:$dest"
done < $HOSTS
continue ;;
n|no|No) echo "Please try again later"
esac
И ошибка:
./filepush: line 31: continue: only meaningful in a `for', `while', or `until' loop
Просто избавься от continue
команда, это не нужно. Оставь ;;
Впрочем - так обозначается конец дела.
Цель continue
означает пропустить оставшуюся часть тела цикла и начать следующую итерацию. Это не имеет значения вне цикла, поэтому вы получите эту ошибку. Это не похоже на C / Javascript / PHP - вам не нужен специальный оператор в конце кейса, чтобы предотвратить переход к следующему кейсу.