假设我有一个名为'1.sb'的文件,其中包含以下内容:
#!/usr/local/bin/sbcl --script
(prin1 sb-ext:*posix-argv*) (terpri)
如果我将其作为'1.sb a b c'调用,我会得到此输出:
("/usr/local/bin/sbcl" "a" "b" "c")
如何获取脚本文件本身的名称('1.sb')?
答案 0 :(得分:0)
事实证明,对于sbcl来说,正确的(至少据我所知)轻量级解决方案就像在这个脚本中一样:
#!/usr/local/bin/sbcl --script
(prin1 (apply #'concatenate 'string
(remove-if #'null
(list (pathname-name *load-truename*)
(when (pathname-type *load-truename*)
".")
(pathname-type *load-truename*))))) (terpri)
感谢the Freebsd forums的用户tobik指示我* load-truename *。