- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
来自此链接:http://scala.epfl.ch/documentation/getting-started.html
#!/bin/sh
exec scala "$0" "$@"
!#
object HelloWorld extends App {
println("Hello, world!")
}
HelloWorld.main(args)
我知道 $0
是脚本名称,$@
是传递给执行的所有参数,但是 !#
是做什么的意思是(google bash "!#"symbols
似乎没有显示结果)?
这是否意味着退出脚本并且标准输入来自剩余的行?
最佳答案
这是 scala 本身的一部分,而不是 bash。注意发生了什么:exec
命令用 scala
替换 进程,然后读取作为 "$0"
,即 bash 脚本文件本身。 Scala 忽略 #!
和 !#
之间的部分,并将文本的其余部分解释为 scala 程序。他们选择“reverse shebang”作为 shebang 的合适对应物。
要了解我关于 exec
替换进程的意思,请尝试这个简单的脚本:
#!/bin/sh
exec ls
echo hello
它不会打印“hello”,因为当执行 exec
时,该进程将被 ls
进程替换。
引用:http://www.scala-lang.org/files/archive/nightly/docs-2.10.2/manual/html/scala.html
关于bash - !#(反向 shebang)是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23531956/
我试图了解 perl 如何处理 shebang 行。 我曾经认为命令行“命令位置”中提到的任何解释器都会优先于 shebang 行中提到的解释器。例如,如果一个名为 demo 的可执行脚本看起来像这样
我无法获取 Gforth当我有 shebang 时运行在脚本的顶部,例如: #!/usr/bin/gforth : pinoke ." I'm a real boy!!! " pinoke Unix
考虑以下代码: #!/usr/bin/env python import sys print "Hello! I've got %r as input." % sys.stdin.read() 这是
我正在尝试在 CentOS 6 中运行 bash 脚本。如果没有 shebang header ,它就无法工作。但是,当我包含 shebang 时,它会显示一条错误消息! 这是一个名为 test.sh
我得到了一个正则表达式,它使用这个正则表达式代码删除了 bash 中的注释 '/^\#/d' 但它也删除了 #!这不应该是因为它不是评论标签而是 shebang 那么忽略#! 怎么办呢?在正则表达式中
我打算在 php 脚本中添加一个 shebang 行 #!/bin/env php 但我环顾四周,似乎人们并没有这样做。 http://github.com/zurb/foundation/blob/
是Shebang #! ,例如 #!/bin/sh 在 Linux 标准库或任何 The Open Group 标准或其他地方正式标准化的脚本可执行文件之前?如果是,请提供引用资料和详细信息。 注意:
与使用 set 在 shebang 行上传递给脚本的标志有关的行为是否存在差异?内置? 例如: #!/bin/bash -e # do stuff 对比 #!/bin/bash set -e # do
这个问题已经有答案了: Why do people write "#!/usr/bin/env python" on the first line of a Python script? (22 个回
$ cat hello.ml #!/usr/bin/env ocamlrun ocaml let rec main = print_string "Hello World!\n" $ ./hello.
我的电脑上有/bin/bash (3.2) 和/usr/local/bin/bash (4.0)。在 $PATH 环境变量中,bash 4.0 早于 bash 3.2。 在我的 bash 脚本 she
是否可以向文件添加 shebang 行,以便它引用远程计算机上的程序? 例如,我没有在我的本地机器上安装 wolframscript,但我在远程机器上安装了。所以不是 #!/usr/bin/env w
我有一个简单的 cli 将时间戳转换为人类可读的日期时间。出于某种原因,当我尝试调用它时,我改为从 imagemagick 调用 import 命令。 > ts 1400029200000 Versi
要使 Python 脚本在 Linux 和 bash 上可执行,可以使用 shebang #! /usr/bin/env python 作为脚本的第一行。如果这一行恰好以 Windows 风格的换行符
我不太擅长 bash,我尝试编写一个脚本来使用 openSSH 连接到我的所有交换机,以便进行一些配置。 我创建了一个包含所有 25 个交换机的数组,然后使用循环打开与每个交换机的 SSH 连接。 由
我在 django 生产环境中使用 PythonAnyhwere。我有一个应该按计划运行的脚本。 由于我在 virtualenv 中安装了 django,因此脚本开始如下 #!/usr/bin/env
我在 Solaris 环境中运行 Python 脚本时遇到以下问题。 看来我在 shebang 行上做了一些不正确的事情,但我无法判断这是 Python 3 问题还是命令行问题。 但我怀疑它与 she
要使 Python 脚本在 Linux 和 bash 上可执行,可以使用 shebang #! /usr/bin/env python 作为脚本的第一行。如果这一行恰好以 Windows 风格的换行符
我在一台 linux 机器上执行了下面的代码,它执行得很好,但是当我在另一台 linux 机器上执行时,它给出了如下错误 Error:( declaration is not correct --
我目前正在编写一个 awk 脚本,如下所示: #!/usr/bin/awk -f BEGIN { print "Starting extracting data" } { print
我是一名优秀的程序员,十分优秀!