Shebang线在Dart脚本(便携式方式)?

时间:2014-03-22 21:24:57

标签: dart shebang

我们说我有一个名为dart-test的Dart脚本。我想分发这个脚本并使其成为必须的,以便用户只需将其放在$PATH的文件夹中,并通过在其终端中键入dart-test从任何地方执行它。

为了这个问题,让我们假装我是我机器上的用户test。我在Mac OS X上并使用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 个答案:

答案 0 :(得分:7)

(考虑到Dart在执行方式上有点像Python和Ruby,我只是看看用这两种语言执行它的标准方法。env二进制文件。)

#!/usr/bin/env dart

似乎就是这样。它将在用户的环境中查找dart个二进制文件,并且显然可以在任何地方执行简单的Dart脚本,只要安装了Dart VM并且在$PATH中。