How to pass a Matlab variable to shell environment?

19 visualizzazioni (ultimi 30 giorni)
Good morning,
I have the same problem apperntly aksed in this thread
but not solved.
I need to pass a variable from matlab to UNIX shell. Let's say I want to print a variable defined within Matlab workspace using "echo" (let's skip for the moment why I would want to do it). This was my attempt
for i=1:9
! echo ${i}
end
but it does not work. How can I pass then a variable defined in Matlab to UNIX environment?
Thanks and best regards

Risposte (1)

Shivam
Shivam il 18 Giu 2023
You can use system command in matlab , here is one use case -
% Define variables
var1 = 'Hello';
var2 = 'world';
% Construct the command
command = ['echo ', var1, ' ', var2];
% Execute the command
system(command);
Output - Hello World
  1 Commento
Walter Roberson
Walter Roberson il 19 Giu 2023
If the var* values contain shell meta characters, then this approach can end up a little different than the echo ${i} approach in shell. Best would be to add quotes, like
% Define variables
var1 = 'Hello';
var2 = 'world';
% Construct the command
command = "echo '" + var1 + "' '" + var2 + "'"
command = "echo 'Hello' 'world'"
% Execute the command
system(command);
Hello world

Accedi per commentare.

Categorie

Scopri di più su Introduction to Installation and Licensing in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by