
Eu trabalho em máquinas diferentes, algumas como centos7
outras centos6
, eu construo um binário tmux
com uma versão diferente em cada 'tipo', pois a mesma versão não pode executar ambas.
Como posso dizer .bashrc
para alternar entre as versões tmux
dependendo da caixa em que trabalho?
Responder1
O comando uname -m
informará em qual arquitetura você está. Por exemplo, no meu sistema agora:
$ uname -m
x86_64
Eu poderia sugerir colocar binários arquivados em ~/bin/i686
e ~/bin/x86_64
. (Ou, se for Power de 32 bits ou qualquer outra coisa, o que quer que uname -m
retorne.) Então, em ~/.bash_profile
(que é olugar certo para isso, tenha uma linha como esta:
PATH=$PATH:~/bin/$(uname -m)
que anexará este novo caminho de bin específico do arch ao seu caminho existente.
Ou, se quiser algo diferente da arquitetura da máquina, use um diferenciador diferente. Por exemplo, uma maneira fácil de saber as versões do CentOS é olhar a versão do centos-release
pacote, com rpm -q
, então, assim:
PATH=$PATH:~/bin/centos$(rpm -q --qf '%{VERSION}' centos-release)
o que vai te levar ou ~/bin/centos6
- ~/bin/centos7
embora não haja tratamento de erros, então no Fedora ou algo assim você receberá uma mensagem de erro sem sentidobem no caminho. (Talvez verifique se o centos-release existe com uma if
declaração antes mesmo de executá-lo.)
Você também pode --nosignatures --nodigest
acelerar este comando RPM em alguns centésimos de segundo. Não é grande coisa, mas como isso acontecerá a cada novo shell de login, parece valer a digitação extra.