Есть необходимость написать скрипт, который проверяет установленна ли данная программа(freebsd). Посоветуйте, как это лучше сделать?
Например установлен ли mc или cvsup...
>Есть необходимость написать скрипт, который проверяет установленна ли данная программа(freebsd). Посоветуйте, как
>это лучше сделать?
>Например установлен ли mc или cvsup...which mc
which cvsup
...
>which mc
>which cvsup
>...Ну вообще хотелось бы что бы результат проверки можно было использовать в if.
да говорит что не знаю, но сказать то он это может по разному, на разных языках. Как об этом точно узнать.
Обе функции в $? возвращают 0, тоесть нормально отработали ((
>Ну вообще хотелось бы что бы результат проверки можно было использовать в
>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
>>which mc
>>which cvsup
>>...
>
>Ну вообще хотелось бы что бы результат проверки можно было использовать в
>if.
>
>да говорит что не знаю, но сказать то он это может по
>разному, на разных языках. Как об этом точно узнать.
>Обе функции в $? возвращают 0, тоесть нормально отработали ((man pkg_info на предмет ключа -e.
Начните с ответа на вопрос "что значит установленна программа?". Варианты, которые приходят мне в голову:
1. Был установлен соответствующий порт (утилиты по работе с портами)
2. Был установлен соответствующий пакет (утилиты по работе с пакетами)
3. В путях данного пользователя есть некий бинарник (which)
4. В чаще всего используемых путях есть некий бинарник (whereis)
5. Вообще где-либо в системе есть некий бинарник (locate, find, etc)
Остается заметить что ни один из них не гарантирует работоспособности программы.