在Common Lisp中获取命令行参数

22 lisp command-line common-lisp

如何获取命令行参数(特别是在GNU中,如果有任何差异)Common Lisp?

小智 26

http://cl-cookbook.sourceforge.net/os.html提供了一些见解

  (defun my-command-line ()
  (or 
   #+CLISP *args*
   #+SBCL *posix-argv*  
   #+LISPWORKS system:*line-arguments-list*
   #+CMU extensions:*command-line-words*
   nil))
Run Code Online (Sandbox Code Playgroud)

我想是你正在寻找的.


and*_*vig 18

我假设您使用CLisp编写脚本.您可以创建包含的文件

#! /usr/local/bin/clisp
(format t "~&~S~&" *args*)
Run Code Online (Sandbox Code Playgroud)

通过运行使其可执行

$ chmod 755 <filename>
Run Code Online (Sandbox Code Playgroud)

运行它给

$ ./<filename>
NIL
$ ./<filename> a b c
("a" "b" "c")
$ ./<filename> "a b c" 1 2 3
("a b c" "1" "2" "3")
Run Code Online (Sandbox Code Playgroud)