Невыполняется команда скрипта sh.
slalom 26 декабря, 2021 - 14:10
Есть .sh скрипт обновления, в конце хочу отправить комп спать, но вот последняя команда не выполняется.
sudo revdep-rebuild -- -q &&
sudo emerge --depclean --exclude="gcc gentoo-sources" &&
sudo eclean-dist --deep &&
sudo mount -o remount,size=1G /tmp && sudo mount -o remount,size=1G /var/tmp/portage &&
sudo rsnapshot sync &&
sudo s2ram -f
По алиасу в bashrc 'sudo s2ram -f' все работает.
»
- Для комментирования войдите или зарегистрируйтесь
:)
Предположим, что результат одного из этих странных sudo будет равен false
Антигуманно-продолжительная последовательность &&-ов ожидаемо прерывается.
Последняя && sudo .. && sudo .. && sudo .. && sudo .. не выполняется.
Спасти Вас может отладка, а также более детальный подход к обработке возвращаемых значений команд.
P.S. По скромному мнению, отлаживать ЭТО будет тот, кто ЭТО наваял.
P.P.S. Ах, да... Еще эти алиасы... :-D
Вариант
Доброго времени суток.
Есть еще один вариант.
Предпоследняя команда выполняется достаточно долго, что бы для sudo закончилось время, которое он помнит, что пароль вводили.
Если верить man-страничке:
Security policies may support credential caching to allow the user to run sudo again for a period of time without requiring authentication. By default, the sudoers policy caches credentials on a per-terminal basis for 5 minutes. See the timestamp_type and timestamp_timeout options in sudoers(5) for more information. By running sudo with the -v option, a user can update the cached credentials without running a command.
Судя по скрипту, пользователь
Судя по скрипту, пользователь вообще не вводит пароль. Вся эта лабуда прописана в sudoers.
Либо по sudo пользователю все разрешено и пользователь от рута отличается только sudo. В этом случае можно было попробовать просто включить пользователя в группу root. Или просто сидеть рутом.
Да, глумлюсь. Но сабж не оставляет выбора. :-D
Очень остроумно, но никто из
Очень остроумно, но никто из всех крутых не знает почему!
slalom написал(а):Очень
По признаку незнания самый крутой тут топикстартер. Намекаю - перейти из состояния крутости во вменяемое состояние при помощи вышеприведенного скрипта не получится. Нужно проконтролировать результат выполнения каждого аргумента &&. Отдельно. Придется делать самому.
Отличный ресурс для воскуривания: Advanced Bash-Scripting Guide
Глава 29 посвящена как раз отладке.
Ну это уже конретика, а чем
Ну это уже конретика, а чем так смешон скрипт он не мой - взял с ЛОРа.
slalom написал(а): Ну это уже
Пальцем в небо - ведь там тоже никто не знает, почему. :-D
Ничего не понял. Ну и
Ничего не понял.
slalom написал(а):Очень
Нить беседы Вы теряете с секундной задержкой.