2014-01-27 88 views
1

我是新來的shell腳本,因爲我會檢測linux的版本嗎?帶有shell腳本的 將檢測版本是5還是6如果可能的話,使用IF的Linux 執行一個安裝塊。檢測Linux版本5或6

+3

你是什麼意思「Linux版本5或6」?這聽起來像你想要找到分發版本,而不是內核版本,並且這是分發特定的。無論如何,提示:'uname'和'cut' – bishop

+0

當前的內核是v3.xx,Centos發行版是v6.xx,而Fedora現在是v20。 Linux v5沒有任何意義。你在找哪個號碼? – 2014-01-27 19:51:01

+0

ServerFault上已經回答了類似的問題:http://serverfault.com/questions/89654/what-version-of-rhel-am-i-using – Aaron

回答

3

使用lsb_release -r | cut -f2得到您的發行版本? (和cut再次用不同的分隔符提取的主要釋放數)

例如:

version=`lsb_release -r | cut -f2 | cut -d. -f1` 

if [ ${version} = 5 ]; then 
    echo "This is version 5" 
elif [ ${version} = 6 ]; then 
    echo "This is version 6" 
fi 
+0

是的我知道如何執行shell腳本來檢測 示例 if [$ version = 5 ) 命令if 5; 其他{} 命令,如果解決了版本6 } –

+0

問題非常感謝你,我不能用「一刀切」屬性必須要在這表達研究.. 非常感謝你。 –

1

Linux發行人申請更新以及他們安裝或配置在使用該軟件發行版的默認位置差異非常大,以至於對Linux版本號的測試過於脆弱,依賴於安裝腳本所依賴的版本。相反,請直接測試您所依賴的功能,並準備好報告或安裝缺少的功能。此外,如果您正在安裝編譯的可執行文件,請認真考慮靜態鏈接您的代碼所依賴的許多庫。並非每個「錯誤修復」或「增強」都將與您的代碼兼容,並且它們都不會經過測試。