
私はさまざまなマシンで作業しています。一部はcentos7
、一部は です。同じバージョンを両方で実行することはできないため、各「タイプ」で異なるバージョンのcentos6
バイナリを構築します。tmux
作業するボックスに応じて.bashrc
のバージョンを切り替えるにはどうすればよいでしょうか?tmux
答え1
このコマンドはuname -m
、現在使用しているアーキテクチャを示します。たとえば、現在の私のシステムでは次のようになります。
$ uname -m
x86_64
~/bin/i686
とにアーカイブバイナリを入れることを提案します~/bin/x86_64
。(または、32ビットPowerか何か他のものであれば、何でもuname -m
返します。)次に、~/.bash_profile
(これは適切な場所、次のような行があります:
PATH=$PATH:~/bin/$(uname -m)
これにより、この新しいアーキテクチャ固有の bin パスが既存のパスに追加されます。
または、マシン アーキテクチャ以外のものが必要な場合は、別の識別子を使用します。たとえば、CentOS のバージョンを確認する簡単な方法は、次のように、centos-release
を含むパッケージのバージョンを確認することです。rpm -q
PATH=$PATH:~/bin/centos$(rpm -q --qf '%{VERSION}' centos-release)
どちらかになります~/bin/centos6
が~/bin/centos7
、エラー処理がないので、Fedoraなどで意味不明なエラーメッセージが表示されます。まさにその道の途中if
(これを実行する前に、centos-release が存在するかどうかをステートメントで確認する必要があるかもしれません。)
また、この RPM コマンドを数百分の 1 秒高速化することもできます--nosignatures --nodigest
。大した問題ではありませんが、新しいログイン シェルごとに実行されるため、追加の入力を行う価値があると思われます。