Предполагая, что код является правильным кодом bash, ваш код не работает по очень веской причине :от одного выполнения к другому ничего не сохраняет значение "count". Каждый раз, когда вы запускаете скрипт, значение count
устанавливается равным '0'
. Вам было предложено несколько решений, чтобы исправить это:
sed
)при каждом выполнении, чтобы оператор count='0'
стал count='1'
, count='2'
,...count='5'
Короче говоря, проблема не в коде, а в дизайне.
Кроме того, в вашем коде есть несколько проблем (, но их исправления недостаточно):
echo='welcome'
ничего не отображает, просто устанавливает для переменной echo
значение «приветствие». Возможно, вы имели в виду echo Welcome
. ((count+1))
добавляет 1
к count
, но это создает новое значение, которое нигде не сохраняется. Я думаю, вы имели в виду count=$((count+1))
или ((count+=1))
. count=0
работает так же хорошо, какcount='0'
Последняя рекомендация :Иметь код, который самоуничтожается, -- плохая идея, :когда вы будете его тестировать, в первый раз, когда он сработает, он стирает себя. Пока вы не будете на 100% уверены, что он работает и у вас есть копии рабочей версии, просто переименуйте его.
Сегодня у меня была аналогичная проблема, и я нашел свое решение, поэтому решил поделиться с вами своим опытом.
Мне нужно было обновиться до r 3.6, а у меня Ubuntu 18. Я начал с удаления R. Я использовал
sudo apt remove r-base.
R 3.4 был удален с моей машины, но старые зависимости остались. Когда я добавил новый репозиторий в соответствии с инструкциями на digitalocean https://www.digitalocean.com/community/tutorials/how-to-install-r-on-ubuntu-18-04-quickstart, я получил ту же ошибку после ввода
sudo apt install r-base
Проблема заключалась в старых зависимостях. Я выполнил эту команду, чтобы решить проблему
sudo apt-get -u dist-upgrade
Я нажал "Y", чтобы подтвердить удаление старых зависимостей и установку новых. *****Ключом к этому является закрытие этого терминала после его завершения и открытие нового терминала перед повторной попыткой установить R. Имейте в виду, что когда вы вносите подобные изменения в систему, они не сразу внедряются в ваш терминал, поэтому даже после того, как вы устраните проблему, исправление не применяется к вашему текущему терминалу. Итак, просто откройте новый терминал и попробуйте установить R.
Удачи!