2011-11-11 36 views

回答

2

#!在scala中必須用!#關閉。例如:

#!/bin/bash 
script_dir=$(cd $(dirname "$0") >/dev/null; pwd -P) 
classes_dir=${script_dir}/build/classes 
src_dir=${script_dir}/src 

mkdir -p ${classes_dir} 
scalac -d ${classes_dir} $(find ${src_dir} -name '*.scala') 

exec /usr/bin/scala -classpath ${classes_dir} "$0" "[email protected]" 
!# 
0

爲什麼不在你的構建腳本中調用scalac之前透明地去除它們?

+0

我想不必去掉任何代碼。如果有必要,我願意使用不明確的shebang語法來實現此目的。 – mcandre

0

我不認爲這是「晦澀的shebang語法」的問題,而是「語言規範」問題。
Wikipedia article on Shebang確實提到:

shebang行的內容將被解釋被自動忽略,因爲#字符是在許多腳本語言註釋標記。
某些不使用哈希標記開始評論的語言解釋程序(如Scheme)仍然可能忽略shebang行

所以,如果scalac沒有在其說明書的指示忽略第一行作爲"script header" like Scheme,我們需要等待你的Jira case 5179