Сценарий для Продвижения Файлов Эй Парни, спасибо за то, что всегда были услужливы, у меня есть другая проблема, что мне нужно немного понимания о том, как зафиксировать.
Посмотрите ниже сценария, который я имею и ошибка, которую я получаю. Я не понимаю, почему это делает это, разве я не использую продолжение правильно?
#!/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 -- вам не нужно специального оператора в конце падежа, чтобы не попасть в следующий падеж.