3
參數:傳遞可變數量的bash命令行參數的MATLAB函數傳遞給一個bash腳本可以被傳遞到MATLAB功能通過以下方式
#!/bin/bash
matlab -nodesktop -nosplash -nodisplay -r "my_function('$1','$2')"
但如果是如何做到這一點我不知道要先驗的論點數量?所以我想做這樣的事情:
#!/bin/bash
matlab -nodesktop -nosplash -nodisplay -r "my_function('$1',...,'$N')"
在哪裏我不知道什麼數字N等於先驗。
我覺得你可以用for循環創建一個包含'$1',...,'$N'
的字符串,並將整個字符串傳遞給上述命令。但是沒有更簡潔的方法嗎?
FIW,我不是流利的bash。所以如果循環是唯一的方法,請告訴我如何做到這一點?
編輯
我設法想出一個解決我的問題:
#!/bin/bash
INPUT=""
for var in "[email protected]"
do
INPUT=$INPUT"'"$var"',"
done
INPUT=${INPUT%?}
matlab -nodesktop -nosplash -nodisplay -r "my_function($INPUT)"
是不是有更簡單/更短的方式做到這一點?
在什麼時間點你會知道N的價值? – 2014-10-09 16:08:37
從來沒有。問題是我正在用MATLAB開發一個程序。主MATLAB函數的輸入參數數量可能會隨時間而改變。我不想修改每次我決定添加另一個輸入參數時啓動我的MATLAB程序的bash腳本。 – Aeronaelius 2014-10-09 16:14:45
+1爲正確的拼寫 - 'MATLAB'而不是'matlab'這是在這裏被廣泛用於堆棧溢出。對不起,雖然我沒有有用的評論。 – Divakar 2014-10-09 16:20:40