有很多類似的問題,但我找不到我正在尋找的範例,也找不到 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"
}
因為參數是第一個,提供給函數