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

Antworten (1)

Shivam
Shivam am 18 Jun. 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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Variables finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

am 15 Jan. 2018

Kommentiert:

am 19 Jun. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by