bash 腳本連續呼叫兩個函數,每個函數都有自己的參數

bash 腳本連續呼叫兩個函數,每個函數都有自己的參數

有很多類似的問題,但我找不到我正在尋找的範例,也找不到 Bash 腳本指南(我確信它在那裡,但它是一本大書...)

我想要的是這樣的:

我有一個透過以下方式呼叫的檔案:./runMe.sh,其內容是這樣的:

callMaxima() {
maxima -b "$1"
}
callSINGULAR() {
/opt/local/bin/Singular -b "$2"
}
callMaxima $1;
callSINGULAR $2;

我希望 Maxima 做一些事情,由終端機中傳遞的第一個參數決定,例如 ./runMe MaximaFile SINGULARFile,這將產生一個文字檔案 Maxima.OUT。

然後,我希望在寫入上面的檔案(Maxima.OUT)後,以批次模式啟動 SINGULAR(也),並透過第二個參數(例如 SINGULARFile)傳遞給它的檔案。它將從 Maxima.OUT 讀取資料並執行一些操作。

問題:

該腳本運行 Maxima 良好,寫入文件,退出並進入 SINGULAR。但顯然檔案參數(例如 SINGULARFile)並沒有被開啟。我可以輕鬆地從終端啟動 SINGULAR 並自動執行/打開文件

/opt/local/bin/SINGULAR -b SINGULARFile

但它在 runMe.sh 中不起作用。由於程式看起來非常相似,我假設我的 runMe.sh 無法正常工作...

答案1

這個函數應該是這樣的:

callSINGULAR() {
/opt/local/bin/Singular -b "$1"
}

因為參數是第一個,提供給函數

相關內容