如何根據我所在的機器為二進位檔案添加別名

如何根據我所在的機器為二進位檔案添加別名

我在不同的機器上工作,有些是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 中發生,因此似乎值得額外輸入。

相關內容