想要在全新安裝發行版之後運行安裝軟件和回購的bash腳本。我有一個腳本可以用於基於debian的發行版。想添加到將從lsb_release中獲取發行版並啓動正確的安裝命令的腳本中。 lsb_release是否是正確的選擇?我假設我可以grep DISTRIB_ID並使用它來啓動腳本的下一部分。我可能會從錯誤的方向來到這裏。有什麼建議?乾杯。將lsb_release的發行版信息添加到腳本中
0
A
回答
0
雖然您可以使用lsb_release -d
來提取當前安裝的分發版的描述,但lsb_release
可能不會安裝在某些基於非debian的發行版中。
相反,您可以在/etc
中查找以-release
結尾的文件,其中包含您的操作系統信息。例如,從我的Ubuntu 15.10,下面是我:
alexander~$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"
NAME="Ubuntu"
VERSION="15.10 (Wily Werewolf)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 15.10"
VERSION_ID="15.10"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
通知ID
,其中包含您的電流分佈,並ID_LIKE
,其中包含您的分發是基於發行版(在我的情況下,Ubuntu的,這是基於debian)。
cat /etc/*-release | grep "^ID=" | grep -E -o "[a-z]\w+" # get ID value
cat /etc/*-release | grep "^ID_LIKE=" | grep -E -o "[a-z]\w+" # get ID_LIKE value
# If the -o option is not available for grep in your system, use awk instead
在你的腳本,可以初始化變量上面的說明,如:
current_distro=`cat /etc/*-release | grep "^ID=" | grep -E -o "[a-z]\w+"`
close_distro=`cat /etc/*-release | grep "^ID_LIKE=" | grep -E -o "[a-z]\w+"`
然後你就可以判斷這個,你可以通過grepping如下提取ID和ID_LIKE的值通過在您的腳本中檢查"$current_distro"
或"$close_distro"
來執行相應的安裝命令。
相關問題
- 1. 將版本信息添加到Qt中的.rc文件中
- 2. 將版本信息添加到OSX命令行應用程序
- 3. 如何使用TFS腳本的版本信息添加標籤
- 4. 將版權信息添加到網站上的複製文本?
- 5. 如何將版本信息添加到Delphi的另一個版本?
- 6. 將自定義版本信息添加到C#應用程序
- 7. 將版本信息添加到Android應用程序
- 8. 如何將版本信息添加到Cmdlet pssnapin
- 9. 將版本信息添加到Windows Phone 8.1 C++/CLI類庫
- 10. 如何通過cmake將版本信息添加到.exe或.dll
- 11. 如何將版本信息添加到Web服務?
- 12. 使用IntelliJ將版本信息添加到jar文件名稱
- 13. 將信息添加到文本文件
- 14. 將鏈接添加到信息文本
- 15. 如何將版本信息添加到Code :: Blocks中的C++應用程序
- 16. Python將信息添加到列表中
- 17. 將信息添加到數據庫中
- 18. 將版本信息嵌入到Lua腳本中的標準方法?
- 19. 將版本添加到WSDL
- 20. 將圖像添加到針腳的信息窗口(Google地圖)
- 21. 如何將信息同時添加到Excel中的一行
- 22. 將腳本中的信息保存到文本文件中 - Python
- 23. 將腳本添加到LaunchScreen.storyboard?
- 24. 將標題(版權)信息添加到現有源文件
- 25. 如何將版權信息添加到Nib文件?
- 26. 如何將自定義統計信息添加到TFS 2010版本?
- 27. 將信息從Java發送到Java腳本?
- 28. 如何使用AJAX將信息發送到PHP腳本?
- 29. 將信息從bash腳本發送到程序
- 30. 將信息添加到CException和CEmailLogRoute
非常感謝。這有幫助。 ID和ID_LIKE是更好的選擇。 –
不客氣。並且[os-release-operating system identification](https://www.freedesktop.org/software/systemd/man/os-release.html)對它們進行了描述,ID/ID_LIKE更適合通過腳本進行處理或使用在生成的文件名中。 – assefamaru