我在我的Mac OS(Mountain Lion)上從Unix shell腳本運行MATLAB腳本時遇到了一些麻煩。從Unix shell腳本運行MATLAB
我知道如何從shell調用MATLAB腳本,並且工作正常。然而,問題是我希望我的shell腳本在MATLAB完成運行後再調用另一個程序。但是當MATLAB程序結束時,外殼會「卡住」。也就是說,它不會繼續執行shell中的其他函數,並且終端窗口停留在MATLAB環境中,而不是將控制權返回給sh。
我在這裏做什麼?這裏是我的殼的副本:
#! /bin/sh
echo "Please make sure the network cable is plugged in"
echo "(then press return to continue)"
sudo mv /System/Library/CoreServices/Dock.app /System/Library/CoreServices/Dock.app.bak
killall Dock
/Applications/MATLAB_R2008a/bin/matlab -nodesktop -r "run Documents/MATLAB/BLS/BLS"
sudo mv /System/Library/CoreServices/Dock.app.bak /System/Library/CoreServices/Dock.app
# OTHER COMMANDS AFTER HERE CALLING OTHER PROGRAMS ...
兩個「sudo的MV」命令MATLAB的執行過程中只是讓Dock中不可見的,並把它放回MATLAB完成後。
第一個命令完美工作,並使Dock不可見,然後運行MATLAB。但是,當MATLAB完成運行時,它不會繼續執行其餘的shell。終端在MATLAB中「卡住」。我已經試過擺弄命名管道等,但我沒有得到任何工作。
如何在MATLAB完成後繼續執行shell腳本?
查看http://hints.macworld.com/article.php?story=20100316164551355可以更好地隱藏碼頭。 – chepner 2013-02-25 18:05:23
謝謝,我會試試 – 2013-02-26 14:59:06