2017-11-09 5 views
1

「foo.sh x」を実行すると、xは$ 1を呼び出してbashで使用できます。SBCLがコマンドラインからparamを渡す

もし私がlispでも同じことをしたいのであれば、 "script.lisp x"を使って$を$の代わりにxとしてparamとして使うことができます。

#!/usr/local/bin/sbcl --script 
(if (eql intp $1) 
    (+ $1 $1) 
    (format t "~&not a valid int"))) 

答えて

4

この質問への答えはあなたの特定のLispの実装に依存します。 SBCLの場合、User Manualにあるように、変数sb-ext:*posix-argv*にはコマンドラインが含まれています。だから例えば。 (nth 1 sb-ext:*posix-argv*)は最初のパラメータを与えます。

+0

が働いた。ありがとうございました –

+1

より多くのポータブルのために、この答えをチェックするのに役立つかもしれませんhttps://stackoverflow.com/a/39252130/574033 – Baggers

関連する問題