$OSTYPE
คุณสามารถใช้$OSTYPE
ตัวแปรที่กำหนดไว้ล่วงหน้าเช่น:
case "$OSTYPE" in
solaris*) echo "SOLARIS" ;;
darwin*) echo "OSX" ;;
linux*) echo "LINUX" ;;
bsd*) echo "BSD" ;;
msys*) echo "WINDOWS" ;;
*) echo "unknown: $OSTYPE" ;;
esac
อย่างไรก็ตามเชลล์ที่เก่ากว่านั้นไม่รู้จัก (เช่นBourne shell )
อีกวิธีหนึ่งคือการตรวจสอบแพลตฟอร์มตามuname
คำสั่ง
ดูสคริปต์ต่อไปนี้ (พร้อมที่จะรวมใน. bashrc):
# Detect the platform (similar to $OSTYPE)
OS="`uname`"
case $OS in
'Linux')
OS='Linux'
alias ls='ls --color=auto'
;;
'FreeBSD')
OS='FreeBSD'
alias ls='ls -G'
;;
'WindowsNT')
OS='Windows'
;;
'Darwin')
OS='Mac'
;;
'SunOS')
OS='Solaris'
;;
'AIX') ;;
*) ;;
esac
.bashrc
คุณสามารถค้นหาตัวอย่างในทางปฏิบัติบางอย่างในของฉัน
นี่คือรุ่นที่คล้ายกันที่ใช้กับTravis CI :
case $(uname | tr '[:upper:]' '[:lower:]') in
linux*)
export TRAVIS_OS_NAME=linux
;;
darwin*)
export TRAVIS_OS_NAME=osx
;;
msys*)
export TRAVIS_OS_NAME=windows
;;
*)
export TRAVIS_OS_NAME=notset
;;
esac