什么是Scala的shebang系列,它不会破坏mimetype?

mca*_*dre 6 scala shebang

我一直在使用它,但它将mimetype更改为text/x-shellscript,这使得像Emacs这样的编辑器会像Shell脚本那样对待我的代码.

#!/bin/sh
exec scala "$0" "$@"
!#
Run Code Online (Sandbox Code Playgroud)

Kei*_*son 7

bangshe(!#)可能是问题所在

我在我的环境中注释了!#和以下工作:

文件:hello.sh

#!/usr/bin/env scala

val name = readLine("What is your name? ")
println("Hello " + name + "!")
Run Code Online (Sandbox Code Playgroud)

更改为可执行权限然后运行:

chmod a+x hello.scala
./hello.scala
Run Code Online (Sandbox Code Playgroud)

  • 下一步:从文件名中删除`.sh`!shebang系列的重点是使脚本与最终用户无法区分(第一次近似).此外,它不是真正的Shell脚本,是吗? (2认同)