2011-11-01 31 views
6

Me gustaría escribir scripts de línea de comandos en Mathematica, pero parece que no puedo encontrar una función similar a Argv[i_Integer]. (Los documentos son fantásticos lo contrario.)¿Cómo se accede a ARGV en Mathematica?

+2

pregunta similar: [? Si haciendo “foo bar matemáticas”, cómo llegar foo y bar en el interior Mathematica] (http: // stackoverflow.com/q/7149252/211232) – WReach

Respuesta

4

$CommandLine obras para Mathematica, MathematicaScript, MathKernel, y matemáticas.

args.ma:

#!/usr/bin/env MathKernel -script 

Print[$CommandLine] 

Ejemplo:

$ ./args.ma a b c 
{"MathKernel", "-script", "./args.ma", "a", "b", "c"} 
6

Parece que $ScriptCommandLine es la variable que se necesita para esto, asumiendo que usted está utilizando MathematicaScript para scripting. Si usa math o MathKernel -script, sería $CommandLine.

Otras discusiones relevantes: a rather old one y una en MMA toolbag.

+0

Gracias. Desafortunadamente, 'MathKernel' informa' $ ScriptCommandLine' como vacío '{}', sin importar los argumentos reales proporcionados. Y los informes 'MathematicaScript'' No se pudo encontrar el directorio de instalación de Mathematica'. – mcandre

+0

@mcandre ¿Están los ejecutables en su ruta? –

+0

@mcandre .... y viste esta línea en los documentos: "La primera línea del script debe contener la opción -script, que debe ser la ** última ** opción en la línea". –

Cuestiones relacionadas