Common Lisp的多行注释使包含多行shebang更容易:
#!/bin/bash
#|
exec clisp -q -q $0 $0 ${1+"$@"}
exit
|#
;;; Usage: ./scriptname.lisp
(defun main (args)
(let ((program (car args)))
(format t "Program: ~a~%" program)
(quit)))
如果没有这种语法,只能使用非常简单的shebang。 Smalltalk是否存在基于英镑的多线评论,这将有助于多线化的shebang?
答案 0 :(得分:1)
不需要多线;只要bash可以看到Smalltalk评论“进入”,你应该没问题。我更担心Smalltalk会看到#!
基于以下内容的方法:
"exec" "/usr/bin/gst" "--foo" "$0" "--bar" "$@"
除非您期望exit
失败,否则不需要exec
。确保您的Smalltalk符合您的预期!如果您确实需要安全阀:
"exec" ...
"exit"
当然,必须双重引用参数可能会妨碍参与。例如,双引号shell运算符会破坏它们的特殊性。
"echo" "hello" ">" "/dev/null"
只打印“hello> / dev / null”