2011-11-01 20 views
6

Chciałbym napisać skrypty wiersza poleceń w Mathematica, ale nie mogę znaleźć funkcji podobnej do Argv[i_Integer]. (Docs są fantastyczne inaczej).Jak uzyskać dostęp do ARGV w Mathematica?

+2

podobne pytanie: [? Jeśli robi matematyki „foo bar”, jak dostać foo i bar wewnątrz Mathematica] (http: // stackoverflow.com/q/7149252/211232) – WReach

Odpowiedz

4

$CommandLine prace dla Mathematica, MathematicaScript, MathKernel i matematyki.

args.ma:

#!/usr/bin/env MathKernel -script 

Print[$CommandLine] 

Przykład:

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

Wydaje się, że $ScriptCommandLine jest zmienna będzie trzeba za to zakładając używasz MathematicaScript skryptów. Jeśli użyjesz math lub MathKernel -script, będzie to $CommandLine.

Inne istotne dyskusje: a rather old one i jeden w MMA toolbag.

+0

Dzięki. Niestety, 'MathKernel' zgłasza' $ ScriptCommandLine' jako puste '{}', niezależnie od faktycznych argumentów dostarczonych. Oraz "MathematicaScript" zgłasza "Nie można znaleźć katalogu instalacyjnego Mathematica." – mcandre

+0

@mcandre Czy pliki wykonywalne znajdują się na twojej ścieżce? –

+0

@mcandre .... i widziałeś ten wiersz w dokumentach: "Pierwsza linia skryptu musi zawierać opcję -script, która musi być ** ostatnią ** opcją na linii." –

Powiązane problemy