
我在不同的機器上工作,有些是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)
這會將這個新的特定於 arch 的 bin 路徑附加到您現有的路徑中。
或者,如果您想要機器架構以外的東西,請使用不同的區分器。例如,判斷 CentOS 版本的一個簡單方法是查看centos-release
軟體包的版本,使用rpm -q
, so,如下所示:
PATH=$PATH:~/bin/centos$(rpm -q --qf '%{VERSION}' centos-release)
這會讓你要么~/bin/centos6
-~/bin/centos7
儘管沒有錯誤處理,所以在 Fedora 或其他東西上你會得到一個無意義的錯誤訊息就在路上。 (也許if
在運行之前檢查 centos-release 是否存在。)
您還可以添加--nosignatures --nodigest
此 RPM 命令以將其速度加快百分之幾秒鐘。沒什麼大不了的,但由於它會在每個新的登入 shell 中發生,因此似乎值得額外輸入。