2016-07-28 201 views
0

我有幾個運行測試的Octave腳本文件,名爲test_1,test_2等。我想要一個腳本文件來運行所有測試,而不必切換所有test_n文件到功能文件。我試過這個幾個變化:從Octave中的其他腳本文件運行腳本文件

#!/path/to/octave -q 
addpath('/path/to/directory/containing/all/scripts/'); 

source(test_1.m); 

source(test_2.m); 

,但我總是得到「錯誤:無效調用腳本/path/to/directory/containing/all/scripts/test_1.m」。

(我試過SOURCE_FILE(),運行(),只是有單獨的文件名就行了。)

有什麼辦法從八度腳本文件運行腳本文件?

回答

0

嘗試

source test_1.m 

source('test_1.m') 

代替。

你的語法意味着test_1是一個結構變量,你要訪問一個域名爲m

同樣與run命令(其實,run只是調用source引擎蓋下)。

如果在路徑上,您也可以直接調用腳本。你只需要確保你不包括.m延伸,即

test_1 
test_2 
+0

爲了讓你得到錯誤的感覺:八度在告訴你「好了,那裏的是一個文件‘testo.m’路徑,這意味着有一個名爲'testo'的腳本/函數可供我使用,但我不知道爲什麼要告訴我從它那裏訪問'.m'成員,這是無法調用腳本或函數的!他們甚至沒有成員!「順便說一句, –

+0

。如果你打算你的代碼也與matlab兼容,避免使用'source'方法,因爲這是八度特定的。 'run'並直接調用腳本(如果在路徑上)都很好。 –

+0

@EvanGunter也看看[http://uk.mathworks.com/help/matlab/matlab_prog/command-vs-function-syntax.html](http://uk.mathworks.com/help/matlab/ matlab_prog /命令VS-功能syntax.html) –