Я работаю на разных машинах, некоторые из них centos7 , некоторые - centos6 , я создаю бинарный tmux с разными версиями для каждого «типа», так как одна и та же версия не может работать на обоих.

Как я могу сказать моему .bashrc переключаться между версиями tmux зависимости от того, на каком компьютере я работаю?

1 ответ1

1

Команда uname -m скажет вам, на какой архитектуре вы находитесь. Например, в моей системе прямо сейчас:

$ uname -m
x86_64

Я мог бы предложить поместить архивные двоичные файлы в ~/bin/i686 и ~/bin/x86_64 . (Или, если это 32-разрядная версия Power или что-то еще, все, что возвращает uname -m .) Затем в ~/.bash_profile (который является подходящим местом для этого, есть такая строка:

PATH=$PATH:~/bin/$(uname -m)

который добавит этот новый специфичный для арки путь к корзине к существующему пути.

Или, если вы хотите что-то отличное от архитектуры машины, используйте другой отличительный признак. Например, простой способ узнать версии CentOS - взглянуть на версию пакета centos-release с помощью rpm -q , вот так:

PATH=$PATH:~/bin/centos$(rpm -q --qf '%{VERSION}' centos-release)

что даст вам либо ~/bin/centos6 либо ~/bin/centos7 - хотя обработки ошибок нет, поэтому в Fedora или в другом месте вы получите бессмысленное сообщение об ошибке прямо по пути. (Возможно, проверьте, существует ли centos-release с оператором if прежде чем запускать это.)

Вы также можете добавить --nosignatures --nodigest чтобы ускорить эту команду RPM на несколько сотых секунды. Ничего страшного, но так как это будет происходить при каждой новой оболочке входа в систему, кажется, стоит напечатать больше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .