2014-04-23 45 views

回答

0

這裏是我想出了實施 -

  • 創建包含以下行/usr/bin/mash腳本文件 -

    #!/bin/bash 
    
    grep -ve '^(#!\|^\s*$)' ${@: -1} | ${@: 1:$#-1}  
    exit $? 
    
  • 讓混搭腳本執行 -

    $ chmod +x /usr/bin/mash 
    
  • 編寫名爲的matlab腳本文件

    #!/usr/bin/mash /usr/local/MATLAB/R2012a/bin/matlab -nodisplay 
    
    format long 
    
    a = 2*pi   % matlab commands ... 
    
  • 製作test.msh可執行腳本 -

    $ chmod +x mash 
    
  • 運行test.msh

    $ ./test.msh 
    
    ... 
    
    >> >> a = 
    
    6.283185307179586 
    
+2

不要把它放在'/ usr/bin'; '/ usr/local/bin'是一個更好的地方。 '/ usr/bin'是分發管理的文件夾(或者應該是)。 –

+0

停止編輯:-) – shlomosh

+0

當你在列表中有代碼塊時,你需要8縮進而不是4';)'。 –

1

您可以通過添加以下老天讓沒有你的自定義mash腳本類似的效果明鏡的文件,你想成爲可執行文件:

#/usr/bin/bash 
/path/to/matlab -r "$(sed -n -e '4,$p' < "$0")" 
exit $? 

如果你想matlab的執行腳本,因爲在你的例子後終止,您可以用

sed -n -e '4,$p' < "$0" | /path/to/matlab 

的想法在這裏更換第二線是執行一個bash命令,簡單地剪下腳本的頭部,並將剩下的部分傳遞給matlab。

+0

比我想出的更好的解決方案。謝謝! – shlomosh

相關問題