Как мне создать псевдоним для двоичного файла, зависящего от машины, на которой я работаю?

Как мне создать псевдоним для двоичного файла, зависящего от машины, на которой я работаю?

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

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

решение1

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

$ uname -m
x86_64

Я мог бы предложить поместить двоичные файлы archful в ~/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 на несколько сотых секунды. Не так уж и важно, но поскольку это будет происходить при каждом новом входе в систему, кажется, стоит набрать больше.

Связанный контент