Скрипт не распознает пароль sudo и не работает - PullRequest
0 голосов
/ 28 февраля 2020

Итак, у меня есть этот маленький скрипт, который запускает sudo apt-get upgrade и автоматически обновляется (даже отвечает, хочу ли я обновить или нет), но когда я запускаю его через ./sync.sh, он запрашивает мой пароль, даже если я объявил это в сценарии.

Кто-нибудь знает, что происходит?

syn c. sh

#Colors
green=$(tput setaf 2)
normal=$(tput sgr0)

clear
echo password | yes | sudo -S apt-get upgrade

echo "${green}-------- APT-GET UPGRADE DONE --------${normal}"

echo password | yes | sudo -S apt-get update

echo "${green}-------- APT-GET UPDATE DONE ---------${normal}"

Вывод является следующим:

Sorry, try again.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts
-------- APT-GET UPGRADE DONE --------
Sorry, try again.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts
-------- APT-GET UPDATE DONE --------

1 Ответ

0 голосов
/ 28 февраля 2020

Проблема может заключаться в том, что echo password | yes возвращается навсегда

y
y
y

Попробуйте использовать xargs:

echo password | xargs yes

или просто yes без трубы

yes password
...