文字列パスを定義して問題が発生したmatlab関数に渡したいと思います。Matlab bashの引数としてパス文字列を渡す
私は自分の関数にその変数を渡すためにbashスクリプトで宣言された文字列変数(この場合はパス)を渡そうとしています。例えば
var=/usr/local/
matlab -nosplash -nodesktop -nojvm -r "my_function($var)"
私はエラーました:
-bash: syntax error near unexpected token `('
これを解決するには、私が試した:私はオンラインで見つける標準的な参考文献で見つけるものではありません
var=/usr/local/
matlab -nosplash -nodesktop -nojvm -r "my_function\($var\)"
を。かかわらず、MathWorks社のMATLABを実行すると、私はエラーを取得:
var=/usr/local/
echo matlab -nosplash -nodesktop -nojvm -r "my_function\($var\)"
を、出力があることに気づい:
Error: The input character is not valid in MATLAB statements or expressions.
変数が正しく変換されたかどうかを確認するために、私はエコー試した
matlab -nosplash -nodesktop -nojvm -r "my_function(/usr/local/)"
変数は文字列ではないため、エラーが発生し、私は試しました。
示している:
matlab -nosplash -nodesktop -nojvm -r "my_function('/usr/local/')"
をだから、私は上記のコードを実行し、私はまだエラーが発生する:
Error: The input character is not valid in MATLAB statements or expressions.
関数がパスに存在するかどうかを確認するために、私はPWDの両方試み、存在()はファイル用です。例えば
matlab -nodesktop -nosplash -nojvm -r "exist('my_function.m')"
この場合は奇妙なことは、私は\(\)
を必要としなかったし、そのファイルが現在のパスに存在する意味、2を返したことです。
私は試しにアイデアが不足しています。だから私はこれを解決する方法を教えてください。
これはAA、bashの問題ではないMathWorks社のMATLABで質問 – crowdedComputeeer