Dart脚本中的Shebang行(以可移植的方式)是什么?

4
假设我有一个名为dart-test的Dart脚本。我想要分发这个脚本并使用户只需将其放在$PATH文件夹中,并且可以通过在终端中键入dart-test从任何地方执行它。
为了回答这个问题,假设我是Mac OS X上的用户test,并使用Homebrew安装了Dart二进制文件。 dart二进制文件位于/home/test/.brew/bin并已加入$PATH。
因此,以下操作可行:
$ cat <<HEREDOC > ~/.brew/bin/dart-test
#!/home/test/.brew/bin/dart
main() => print('Dart shebang works!');
HEREDOC

$ chmod u+x ~/.brew/bin/dart-test

$ dart-test
Dart shebang works!

问题在于我使用的Dart shebang不可移植,我的脚本只能在我的电脑上运行。是否存在一种便携方式来解决这个问题?

1个回答

12

考虑到Dart在执行方式上有点像Python和Ruby,因此我查看了这两种语言中执行此操作的标准方法。env二进制文件。

#!/usr/bin/env dart

看起来是这样。它将在用户的环境中寻找dart二进制文件,并且显然使得简单的Dart脚本可以从任何地方执行,只要Dart虚拟机已安装并在$PATH中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接