Я пытаюсь запустить sbt, используя рыбий панцирь.
#!/usr/local/bin/fish
java -Xmx512M -jar (dirname (status -f))/sbt-launch-0.7.4.jar "$argv"
Когда я звоню SBT, я получаю следующее
[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.
Затем sbt завершает работу. Почему? Разве ему не следует просто ждать команд?
Что касается, возможно, связанной заметки, я уверен, что раньше мне не приходилось использовать #! [Shell] в первой строке, когда я использовал bash. Что изменилось?
ОБНОВЛЕНИЕ: при написании эквивалентного скрипта для использования bash все работает нормально, sbt не выполняет сборку, а затем завершает работу.
#!/bin/bash
java -Xmx512M -jar `dirname $0`/sbt-launch-0.7.4.jar "$@"
dirname (status -f)
выводит вfish
скрипте?sbt-launch-0.7.4.jar
в этом каталоге? В общем, не рекомендуется пытаться запускать что-либо из того же каталога, в котором расположен сценарий. Часто это не срабатывает. Вы должны использовать фиксированное местоположение:/path/to/sbt-launch-0.7.4.jar
. Вы используетеfish
в качестве интерактивной оболочки? Есть ли причина, по которой такой простой сценарий должен быть сценариемfish
, а не сценариемsh
? - person Dennis Williamson   schedule 19.12.2010