การใช้เครื่องมือภายนอกไม่มี:
คุณสามารถเพียงแค่แหล่งที่มา (คำสั่งแหล่งที่เป็นจุด.
) /etc/os-release
และคุณจะสามารถเข้าถึงตัวแปรทั้งหมดที่กำหนดไว้ที่นั่น:
$ . /etc/os-release
$ echo "$VERSION"
14.04, Trusty Tahr
แก้ไข หากคุณต้องการลบ14.04,
ส่วน (ตามที่ terdon ถาม) คุณสามารถ:
$ . /etc/os-release
$ read _ UBUNTU_VERSION_NAME <<< "$VERSION"
$ echo "$UBUNTU_VERSION_NAME"
Trusty Tahr
โปรดทราบว่านี่เป็นบิต clunky เนื่องจากในการกระจายอื่น ๆVERSION
สนามสามารถมีรูปแบบที่แตกต่างกัน เช่นบนเดเบียนของฉัน
$ . /etc/os-release
$ read _ UBUNTU_VERSION_NAME <<< "$VERSION"
$ echo "$UBUNTU_VERSION_NAME"
(wheezy)
จากนั้นคุณสามารถจินตนาการถึงสิ่งนี้ (ในสคริปต์):
#!/bin/bash
if [[ -r /etc/os-release ]]; then
. /etc/os-release
if [[ $ID = ubuntu ]]; then
read _ UBUNTU_VERSION_NAME <<< "$VERSION"
echo "Running Ubuntu $UBUNTU_VERSION_NAME"
else
echo "Not running an Ubuntu distribution. ID=$ID, VERSION=$VERSION"
fi
else
echo "Not running a distribution with /etc/os-release available"
fi
/etc/os-release
ของไฟล์ บางทีคุณควรระบุสิ่งที่คุณหมายถึงโดยฉันจะได้รับสมญานามเต็ม (trusty tahr) ของระบบ Ubuntu ที่ติดตั้งของฉันได้อย่างไร . คุณต้องการสะท้อนกับเทอร์มินัลหรือคุณต้องการให้มันกำหนดให้กับตัวแปรหรือไม่? จะใช้กับระบบที่ไม่ใช่ {Ubuntu, Debian} หรือไม่