Sólo por el bien de la concreción, considere la siguiente secuencia de comandos de Python súper sencilla, en un archivo llamado add_em
:Cómo: script de MATLAB que se pueden obtener argumentos de Unix de línea de comandos
#!/usr/bin/env python
# script name: add_em
from sys import argv
x = int(argv[1])
y = int(argv[2])
x_plus_y = x + y
print '%d' % x_plus_y
ahora puedo ejecutar este guión, y pasar argumentos a ella, desde la línea de comandos de Unix, así:
% python add_em 3 8
11
Si hago el script ejecutable, que ni siquiera es necesario mencionar python
en la línea de comandos:
% chmod +x add_em
% add_em 41 -29
12
Puede alguien me enseñe a escribir (y ejecutar) una secuencia de comandos de MATLAB para que realice exactamente igual que el anterior script hace? En particular, debe poder leer sus argumentos desde la línea de comandos de Unix (en lugar de, por ejemplo, la "línea de comando" de la GUI de MATLAB) e imprimir su suma numérica a la salida estándar.
NOTA: este script no necesita ser "independientes"; IOW, uno puede suponer que MATLAB está instalado localmente, e incluso ese puede mencionar
matlab
en la línea de comandos (análogamente a la primera forma anterior, donde el intérpretepython
se invoca explícitamente en la línea de comandos).
Gracias!
PD: No hace falta decir que este guión es la antítesis de "robusto", pero mi objetivo era producir un ejemplo fácilmente transmitido.
Aquí hay una respuesta a su pregunta: http://stackoverflow.com/questions/3335505/how-can-i-pass-command-line- arguments-to-a-standalone-matlab-executable-running – piokuc
*** No ***, esa questio n es para * standalone * (destinado a ejecutarse sin una copia de MATLAB instalada localmente). Es por eso que *** enfaticé *** en mi pregunta que no necesito esto. En particular, *** no quiero *** compilar el script de MATLAB. – kjo