I want to configure a remote kernel, but the box it'll run on doesn't have a fixed hostname or IP address. I can however get its IP address by running a shell script. (For the moment I'm only worrying about unix-oid systems: linux and MacOS -- I'll deal with windows later if I figure this out.) Now, it seems this ought to be easy: all I need to do is use the standard backquote syntax to insert the output of the script into the link command in the appropriate place. But apparently Mathematica is already using backquotes in some other way. This is the generic Launch command it configures:

`java` -jar "`mathssh`" leon@hostname math -mathlink -LinkMode Connect -LinkProtocol TCPIP -LinkName "`linkname`" -LinkHost `ipaddress`

You see it's got java, mathssh, linkname, and ipaddress enclosed in backquotes. But these are not executables (or if they are, they're nowhere I can find). So, either it's using backquotes for some internal variable substitution, or it installs executables with those names somewhere in the path before passing this command to a shell.

How can I find out what (if anything) actually gets passed to a shell?

  • $\begingroup$ related question $\endgroup$ – ssch Jan 12 '13 at 19:02
  • 2
    $\begingroup$ Everything within backticks is subject to substitution, though java and mathssh are just the paths to the relevant executables. mathssh is a Java implementation of an ssh client, in case there is none present on the system to begin with (for example, as on Windows). More Windows-related information here. $\endgroup$ – Oleksandr R. Jan 14 '13 at 2:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.