При написании сценариев оболочки это идиома или быстрый способ запуска программы только , если она установлена, а если нет, просто оставьте ее (или обработайте ошибку другим способом кроме установки)?
В частности, у меня есть много серверов, к которым я обращаюсь через ssh
, и всякий раз, когда я получаю новый сервер, я просто копирую на него все свои rc-файлы. .Zshrc запускается tmux
, если он уже не запущен. На некоторых серверах (не на всех) не установлена tmux
. Я не хочу устанавливать его из-за ограничений дискового пространства, я не хочу иметь разные rc-файлы для разных серверов и не хочу, чтобы мои rc-файлы прерывались при их выполнении.
Я видел решения, включающие apt-cache policy <package-name>
, так что, думаю, я мог бы использовать это и перенаправить на что-то вроде grep -e 'Installed: (none)'
, но это предполагает, что на сервере работает Debian или Ubuntu, чего я не могу сделать, и это будет работать только для пакетов, которые были установлены с apt
, а не с теми, которые я установил другими способами.