Я сделал этот скрипт, который проверяет, создан ли оффшорный скрипт. Я работаю нормально и emdash; Я включил функцию, чтобы сделать ее немного чище. Но я не думаю, что функция работает, потому что она продолжает печатать в одно и то же время, в считанные секунды.Вызов функции Bash в цикле while
#!/bin/bash
#set -x
check_offshore()
{
local RESULTS
RESULTS=$(ssh -q -T [email protected] "ls -ltr /come/and/play/with/us/danny/DropBox| grep foreverr_and_$today.csv")
rc=$?
}
today=$(/bin/date +%Y%m%d)
time=$(/bin/date +"%T.%3N")
iterate=0
while [ $iterate -le 5 ]
do
check_offshore
if [[ $rc != 0 ]] ; then
echo "$time foreverr_and_$today.csv is not present in [email protected]:/come/and/play/with/us/danny/DropBox"
fi
sleep 5
iterate=$((iterate+1))
done
Это журнал, который он создает и emdash; время журнала никогда не изменяется. Он остается прежним, навсегда и всегда и всегда, пока сценарий не остановится.
17:42:28.380 foreverr_and_20150102.csv is not present in [email protected]:/come/and/play/with/us/danny/DropBox
17:42:28.380 foreverr_and_20150102.csv is not present in [email protected]:/come/and/play/with/us/danny/DropBox
17:42:28.380 foreverr_and_20150102.csv is not present in [email protected]:/come/and/play/with/us/danny/DropBox
17:42:28.380 foreverr_and_20150102.csv is not present in [email protected]:/come/and/play/with/us/danny/DropBox
17:42:28.380 foreverr_and_20150102.csv is not present in [email protected]:/come/and/play/with/us/danny/DropBox
17:42:28.380 foreverr_and_20150102.csv is not present in [email protected]:/come/and/play/with/us/danny/DropBox
Что происходит и как его исправить?
Поскольку вы не устанавливаете 'time = $ (...)' внутри цикла, как вы ожидаете его изменения? –
Если вы используете Bash, вы можете выбрать 'for ((iterate = 0; iterate <= 5; iterate ++))' для управления циклом. –