我已經設法找到以下解決方案。
我創建了一個文件init.scm
以下定義:
(define command-line-args '())
(define parse-argument-list
(lambda (arg-list)
(set! command-line-args
(if (null? arg-list)
(list)
(cdr arg-list)))))
(set-command-line-parser! "args" parse-argument-list)
這樣,當命令行選項--args
被發現,該功能 parse-argument-list
被調用。
我已加載這個文件到mit-scheme
解釋並保存使用過程disk.save
世界圖像 (init.com
)。
我已經然後寫調用我的主要方案如下腳本一個shell腳本(bash)的:
mit-scheme --band "init.com" --interactive --batch-mode --args $* < myscript.scm
最後,在我的主要腳本中,我可以通過可變
command-line-args
訪問命令行參數
我不確定這是否是標準/正確的方式來做到這一點,但至少它的工作原理。
我已經與麻省理工學院的計劃開發人員覈實,該解決方案是oK。 – Giorgio 2012-08-27 17:19:38