2014-04-11 28 views
0

我知道有Sys.os_type,但它將OSX,Linux等全部歸入同一類別。我想檢測操作系統,最重要的是區分OSX和Linux。如何檢測正在運行的OS程序?

+1

這聽起來更像編譯時開關,而不是運行時的東西。你有沒有考慮過? – nlucaroni

+1

我有。這兩種方法都可以工作,但我目前不使用optcomp或任何其他預處理器,所以我不想介紹這種情況,除非絕對必要。 – rgrinberg

回答

2

你可以嘗試這樣的事:

# let ic = Unix.open_process_in "uname" in 
    let uname = input_line ic in 
    let() = close_in ic in 
    uname;; 
- : string = "Darwin" 

在OSX返回 「達爾文」。在Linux中它返回「Linux」(至少這是我剛纔看到的,當我嘗試時)。

我不知道Windows上的行爲。但至少它會有所不同:-)

相關問題