Pergunta

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" "$@"
!#
Foi útil?

Solução

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

Outras dicas

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top