URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 80601
[ Назад ]

Исходное сообщение
"проверить установлена ли данная программа, из bash скрипта во freebsd "

Отправлено devmstr , 03-Июн-08 20:34 
Есть необходимость написать скрипт, который проверяет установленна ли данная программа(freebsd). Посоветуйте, как это лучше сделать?
Например установлен ли mc или cvsup...

Содержание

Сообщения в этом обсуждении
"проверить установлена ли данная программа, из bash скрипта в..."
Отправлено stant , 03-Июн-08 20:39 
>Есть необходимость написать скрипт, который проверяет установленна ли данная программа(freebsd). Посоветуйте, как
>это лучше сделать?
>Например установлен ли mc или cvsup...

which mc
which cvsup
...


"проверить установлена ли данная программа, из bash скрипта в..."
Отправлено devmstr , 03-Июн-08 21:37 
>which mc
>which cvsup
>...

Ну вообще хотелось бы что бы результат проверки можно было использовать в if.

да говорит что не знаю, но сказать то он это может по разному, на разных языках. Как об этом точно узнать.
Обе функции в $? возвращают 0, тоесть нормально отработали ((


"проверить, так проверить!"
Отправлено Andrey Mitrofanov , 03-Июн-08 23:03 
>Ну вообще хотелось бы что бы результат проверки можно было использовать в
>if.

$ if which command.com; then echo 'Yes!'; else echo 'NO...'; fi
NO...
$ if which su; then echo 'Yes!'; else echo 'NO...'; fi
/bin/su
Yes!
$ _

>да говорит что не знаю, но сказать то он это может по
>разному, на разных языках.

Эк завернул! :-/

>Обе функции в $? возвращают 0, тоесть нормально отработали ((

Сюрпри-и-из! :-P


"проверить установлена ли данная программа, из bash скрипта в..."
Отправлено newser , 04-Июн-08 09:52 
>>which mc
>>which cvsup
>>...
>
>Ну вообще хотелось бы что бы результат проверки можно было использовать в
>if.
>
>да говорит что не знаю, но сказать то он это может по
>разному, на разных языках. Как об этом точно узнать.
>Обе функции в $? возвращают 0, тоесть нормально отработали ((

man pkg_info на предмет ключа -e.


"проверить установлена ли данная программа, из bash скрипта в..."
Отправлено angra , 04-Июн-08 11:31 
Начните с ответа на вопрос "что значит установленна программа?". Варианты, которые приходят мне в голову:
1. Был установлен соответствующий порт (утилиты по работе с портами)
2. Был установлен соответствующий пакет (утилиты по работе с пакетами)
3. В путях данного пользователя есть некий бинарник (which)
4. В чаще всего используемых путях есть некий бинарник (whereis)
5. Вообще где-либо в системе есть некий бинарник (locate, find, etc)
Остается заметить что ни один из них не гарантирует работоспособности программы.