我想讓使用魚殼的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退出。爲什麼?它不應該等待命令嗎?
在一個可能相關的說明中,我確定我沒有用過在第一行使用bash時必須做的#![shell]。什麼改變了?
UPDATE: 寫作時相當於腳本使用bash一切正常,SBT不會做構建然後退出(在你的例子#!/usr/local/bin/fish
)
#!/bin/bash
java -Xmx512M -jar `dirname $0`/sbt-launch-0.7.4.jar "[email protected]"
'dirname(status -f)'在'fish'腳本中輸出了什麼?該目錄中是否有'sbt-launch-0.7.4.jar'?一般來說,嘗試從腳本所在的同一目錄運行一些東西並不是一個好主意。它通常不起作用。你應該使用一個固定的位置:'/ path/to/sbt-launch-0.7.4.jar'。你是否在運行'fish'作爲交互式shell?有這樣一個簡單的腳本需要成爲'魚'腳本而不是'sh'腳本的原因嗎? – 2010-12-19 19:19:19
是的,這個jar和腳本是一樣的,按照這裏的方向http://code.google.com/p/simple-build-tool/wiki/Setup 好點,也許我應該只用bash (這是新的,就像魚一樣,也許會被帶走) – Pengin 2010-12-19 20:34:48