Question

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" "$@"
!#
Was it helpful?

Solution

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

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top