I've been using this, but it changes the mimetype to text/x-shellscript
, which makes editors like Emacs treat my code like Shell scripts.
#!/bin/sh
exec scala "$0" "$@"
!#
Keith Pinson
The bangshe (!#) might be the problem
I commented out the !# and the following works in my environment:
File: hello.sh
#!/usr/bin/env scala
val name = readLine("What is your name? ")
println("Hello " + name + "!")
Changed to executable permissions and then ran:
chmod a+x hello.scala
./hello.scala
As I can test, just
#!/usr/bin/env scala
!#
println("Args: " + args.toList)
works fine:
➜ ./test.scala 1 hi
Args: List(1, hi)
Or you may write it without /usr/bin/env
, for fixed scala
path
来源:https://stackoverflow.com/questions/15077341/whats-a-shebang-line-for-scala-that-doesnt-corrupt-mimetype