7
爲了讓我的.sbclrc文件在我使用的兩臺計算機上工作,我想要一種方法從sbcl中獲取主機名和/或操作系統。我知道我可以設置,然後尋找一個環境變量,但有沒有更直接的方法?如何使用common lisp來確定操作系統和主機名?
更新
我改變了這個問題指Common Lisp的,因爲從肯的回答是不特定SBCL。
爲了讓我的.sbclrc文件在我使用的兩臺計算機上工作,我想要一種方法從sbcl中獲取主機名和/或操作系統。我知道我可以設置,然後尋找一個環境變量,但有沒有更直接的方法?如何使用common lisp來確定操作系統和主機名?
更新
我改變了這個問題指Common Lisp的,因爲從肯的回答是不特定SBCL。
我會用「environment」功能:
* (machine-instance)
"myhostname"
* (machine-type)
"X86-64"
* (machine-version)
"Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz"
* (software-type)
"Linux"
* (software-version)
"2.6.32-3-amd64"
* (require :sb-bsd-sockets)
("SB-BSD-SOCKETS" "SB-GROVEL" "ASDF")
* (use-package :sb-bsd-sockets)
T
* (host-ent-name (get-host-by-name "localhost"))
"myhost.mydomain.ext"
* (find :win32 *features*)
:WIN32
* (find :linux *features*)
NIL
編輯:我喜歡@肯的解決方案更好。 +1。
謝謝,我不知道我是多麼懷念那些! – 2010-12-07 03:54:42