On Tue, 1 Oct 2019 12:48:42 +0300 "Andrey Jr. Melnikov" <temnota...@gmail.com> wrote:
> Victor Wagner <vi...@wagner.pp.ru> wrote: > > On Tue, 1 Oct 2019 11:11:48 +0300 > > "Andrey Jr. Melnikov" <temnota...@gmail.com> wrote: > > > > > Дак а кто автору злобный буратино, что он не пользует конструкцию > > > > > > _pacman=$(command -v pacman) > > > if [ -n "${_pacman}" -a .... ]; ... > > > Ну зачем так сложно? > Затем, что потом сразу можно вызвать ${_pacman} -- ${file} без > повторного поиска по дискам в $PATH - а где там тот pacman лежало. > > > Ведь command -v возвращает ненулевой код если команда не найдена. > > Я ведь с самого начала про то и пишу, что НЕ ИСПОЛЬЗУЙТЕ КОМАНДУ > > test, для того чтобы проверить условие, уже проверенное другое > > командой. > > О, расскажи как мне, как в > if /usr/bin/неведомафигня ; then > обработать вот это: > /usr/bin/неведомафигня: cannot execute binary file: Exec format error А нам оно в данном случае надо? Бывают такие ошибки которые НЕ НАДО обрабатывать. Ежели юзер сумел загнать свою систему в такое состояние, он сам себе злобный Билл Гейтс. Как известно любая мера безопасности порождает новые риски. Поэтому нужно наступить на горло собственной песне и перестать защищаться от слишком маловероятных угроз (поскольку это ослабляет защиту от более вероятных). В /usr/bin НЕ МОЖЕТ БЫТЬ неведомой фигни. Любая фигня которая попадает в /usr/bin (а не /usr/local/bin или ${HOME}/bin) должна быть ведома пакетному менеджеру. --