有可能通過啓動一個文本文件,寫在Scala的shell腳本:較短的斯卡拉腳本頭
#!/bin/sh
exec scala "$0" "[email protected]"
!#
爲了緩解劇本創作,我想編寫稱爲scalash
一個可執行文件(可能是一個bash腳本)允許將Scala腳本標題縮短爲一行:
#!/bin/scalash
這可能嗎?如果我可以將可選參數傳遞到scalash
,例如添加類路徑依賴關係,則需要加分。
有可能通過啓動一個文本文件,寫在Scala的shell腳本:較短的斯卡拉腳本頭
#!/bin/sh
exec scala "$0" "[email protected]"
!#
爲了緩解劇本創作,我想編寫稱爲scalash
一個可執行文件(可能是一個bash腳本)允許將Scala腳本標題縮短爲一行:
#!/bin/scalash
這可能嗎?如果我可以將可選參數傳遞到scalash
,例如添加類路徑依賴關係,則需要加分。
在斯卡拉2.11,您可以按如下(正好與大多數其他語言)做到這一點:
#!/usr/bin/env scala
println(args.mkString(" "))
在斯卡拉2.9.0.1,你可以簡單地創建以下腳本:
test.scala
#!/usr/bin/scala
!#
println(args.mkString(" "))
並使其可執行。 (第一行路徑更改爲你的可執行文件)
用法:
# ./test.scala Hello world!
Hello world!
見this pull request(爲this)。沒有與之相關的問題 - 如果您喜歡它,您可以打開問題並對拉取請求發表評論。
您也可以使用SBT來啓動腳本。查看關於scalas
here的信息。
編輯
拉請求被接受,所以這應該工作:
#!/usr/bin/env /path/to/scala
etc
不知道這裏,但我認爲[ 「只有一個參數」(HTTP:// Linux操作系統。 die.net/man/2/execve)shebang行的限制來自操作系統;不知道,你是否可以做些什麼。 – Dirk