GNU Smalltalk 省略了 argv 中的脚本名称。
#!/usr/bin/env gst -f
| argv program |
argv := Smalltalk arguments.
(argv size) > 0 ifTrue: [
program := argv at: 1.
Transcript show: 'Program: ', program; cr.
] ifFalse: [
Transcript show: 'argv = {}'; cr.
]
$ ./scriptname.st
argv = {}
我看到了两种获取脚本名称的方法:
- 追踪一些 Smalltalk 方法,该方法返回类似于 Perl 的变量的脚本名称
$0
。 - 跟踪多行 shebang 的语法并强制 GST 提供脚本名作为 argv 的第一个成员。这是Common Lisp中的一个示例。