为什么在使用鱼时会放弃?

Pen*_*gin 6 scala sbt fish

我正试着用鱼壳跑步.

#!/usr/local/bin/fish 
java -Xmx512M -jar (dirname (status -f))/sbt-launch-0.7.4.jar "$argv"
Run Code Online (Sandbox Code Playgroud)

当我打电话给我时,我得到以下内容

[info] Building project MyProject 1.0 against Scala 2.8.1
[info]    using MyProject with sbt 0.7.4 and Scala 2.7.7
[info] 
[info] Total session time: 1 s, completed Dec 19, 2010 4:29:46 PM
[success] Build completed successfully.
Run Code Online (Sandbox Code Playgroud)

然后sbt退出.为什么?它不应该等待命令吗?

在一个可能相关的说明中,我确信当我使用bash时,我不习惯在第一行做#![shell].改变了什么?

更新:当编写使用bash的等效脚本时,一切正常,sbt不进行构建然后退出

#!/bin/bash
java -Xmx512M -jar `dirname $0`/sbt-launch-0.7.4.jar "$@"
Run Code Online (Sandbox Code Playgroud)

Pau*_*ce. 3

如果您不使用 shebang(#!/usr/local/bin/fish在您的示例中),脚本将使用系统上的默认 shell 运行,这很可能/bin/sh

如果您使用运行脚本,#!/bin/sh或者#!/bin/bash它是否按照您期望的方式工作?

您的脚本中没有任何内容会影响其与其他 shell 的工作方式不同。我不明白你的脚本与你正在做的事情有何关系(主要是因为我不熟悉 sbt)。你的脚本的名字是什么?怎么称呼?你怎么称呼sbt?