Memoize

BasicWerk   EC Support   Technique   Facebook  

20140608221858_SBCL_run_script

SBCL_run_script

 

SBCL でスクリプトを実行する。

 

オプションは --script

標準出力への書き出しは write-line を使う。

sbcl_script.lisp
#! /opt/local/bin/sbcl --script
(write-line "Hello, World!")
(write-line (format nil "~{~A~^ ~}" '(1 2 3 "aaa" e f g)))

注:sbcl の在処は which で確認。

 

上記のスクリプトに実行可能に。

% chmod a+x sbcl_script.lisp

 

実行してみる。

% sbcl_script.lisp
Hello, World!
1 2 3 aaa E F G

 

引数を受け取る。

#! /opt/local/bin/sbcl --script
(write-line (format nil "~S" sb-ext:*posix-argv*))

 

引数を確認してみる。

% sbcl_script.lisp       
("/opt/local/bin/sbcl")
% sbcl_script.lisp arg1
("/opt/local/bin/sbcl" "arg1")
% sbcl_script.lisp arg1 arg2   
("/opt/local/bin/sbcl" "arg1" "arg2")
% sbcl_script.lisp -a arg1 arg2
("/opt/local/bin/sbcl" "-a" "arg1" "arg2")

単にリストになるようだ。

 

option の解析はこちらの記事を参考にしてまた今度(必要になったら)。

 

(SBCL "コマンドライン引数の処理") - paradigm-shift-with-lisp

 


© Shin Nakamura/BasicWerk 2014