2011-04-21 108 views
1

你好我運行javac命令(-STF是一個文件)巴什 - 參數不工作

javac @$lstf 

出於某種原因,我得到一個錯誤說javac: file not found: path/to/dir/*.java。每當我在終端javac中手動輸入參數args。

下面是代碼:

mkdir "$out" 

cd src 
scan 

"$cc" $cflags -d "../$out" @${lstf} 
rm -rf $lstf 
cd ../ 

掃描生成文件$-STF所有路徑的功能 - 它工作正常

+0

你能告訴腳本或命令導致這一休息嗎? – 2011-04-21 03:53:11

+0

「@」符號的意義是什麼? – 2011-04-21 03:56:38

+0

也許如果你這樣做:javac @「$ lstf」 – PEdroArthur 2011-04-21 03:59:32

回答

1

你需要說javac @foo,並lstf = foo

每當你在一個情況下變量名是難以破譯,你可以使用${var}語法,而不只是$var

javac @${lstf} 
+0

這不起作用,它仍然顯示相同的錯誤 – LanguagesNamedAfterCofee 2011-04-21 10:38:21

+0

您能向我們展示腳本並更好地解釋您正在嘗試做什麼嗎?我實際上並不確定你爲什麼在那裏擁有'@'。你正在嘗試使用「$ @」嗎?請編輯您的問題,以明確您正在嘗試執行的操作。這樣我們可以幫助你而不是簡單地猜測。 – 2011-04-21 14:52:50

0

如果你的文件路徑店-STF變量,只是叫它

javac "$lstf" 
+0

這是錯誤的,因爲@anyfile意味着javac必須讀取存儲在任何文件中的一組文件名,但不能編譯任何文件本身。 – PEdroArthur 2011-04-21 04:16:08