コマンドラインに渡されたすべてのmatlabスクリプトをロードする便利な関数を作成したいと思います。構文は次のとおりです。
fmatlab myscript1.m myscript2.m ... mystriptN.m
私は何かを簡単にすることができます基本スクリプトの数。たとえば、スクリプトを提供すると、次のようになります。
function fmatlab () {
$MYMATLABPATH/matlab -r "edit "$1"" &
}
または両方のスクリプトの場合:
function fmatlab () {
$MYMATLABPATH/matlab -r "edit "$1" "$2"" &
}
など。最初はmatlabを開き、エディタで単一のスクリプトを渡し、2番目はmatlabを開き、2つのスクリプトを渡します。どちらの場合も確認されます。
ただし、可変数のスクリプトを実行することはできません。たとえば、明らかに見える拡張子は次のとおりです。
function fmatlab () {
$MYMATLABPATH/matlab -r "edit "$@"" &
}
最初のスクリプトだけが開き、他のスクリプトは開かれません。最初の引用符セットのコマンドが両方のスクリプトケースで同じであることを確認しました。
function fmatlab_echo () {
echo "edit "$1" "$2""
echo "edit "$@""
}
私は得る
$ fmatlab_echo script1.m script2.m
edit script1.m script2.m
edit script1.m script2.m
$ @、&(ターミナルの次の行に移動)、matlab -r、または3つの組み合わせの基本的な内容が欠落している可能性があります。
ベストアンサー1
あなたが望むようです:
fmatlab () {
$MYMATLABPATH/matlab -r "edit $*" &
}
二重引用符で囲むと、$*
すべての引数を空白で連結します(デフォルトでは)。