How to pass a Matlab variable to shell environment?

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

Réponses (1)

Shivam
Shivam le 18 Juin 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 commentaire

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Historical Contests dans Centre d'aide et File Exchange

Produits

Question posée :

le 15 Jan 2018

Commenté :

le 19 Juin 2023

Community Treasure Hunt

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

Start Hunting!

Translated by