Thank you for the responses and my apologies for not being entirely clear: 
Actually, the $PATH variable was just to provide an example. I really did 
want to construct a Cmd with an unquoted dollar in it.
The reason why I want do such a silly thing is that I have a toying with a 
package (https://github.com/cth/QsubCmds.jl) which generates shell scripts 
from Cmd's that are run through sun grid engine, so
since the commands are not executed by Julia anymore, but a shell, it makes 
sense to allow interaction with shell variables. I do not know whether 
there could be any other use case for this (probably not).

I get if this is not possible for the reason that there is no shell to 
expand variables when running Cmds from Julia, but I just wondered if there 
are some escaping mechanism that makes it possible to construct such 
commands.

Best,
Christian



Den onsdag den 2. november 2016 kl. 12.23.00 UTC+1 skrev Stefan Karpinski:
>
> I think that needs some additional parens: `echo $(ENV["PATH"])`. This is 
> in fact, exactly what you need – Julia commands in backticks are not run by 
> a shell so there is no shell to expand any environment variables, only 
> Julia can expand them.
>
> On Wed, Nov 2, 2016 at 7:02 AM, Simon Byrne <[email protected] 
> <javascript:>> wrote:
>
>> Perhaps not quite what you had in mind, but
>>
>> `echo $ENV["PATH"]`
>>
>> should work
>>
>> On Wednesday, 2 November 2016 10:43:47 UTC, Christian Theil Have wrote:
>>>
>>> Hi,
>>>
>>> I've been trying to create a shell command that refers to an environment 
>>> variable, e.g., 
>>>
>>> echo $PATH
>>>
>>> Julia will interpolate $ in shell commands in backticks to Julia 
>>> variables, i.e., `echo $PATH`, will look for a Julia variable PATH. 
>>> What can I do if I really want to insist having a shell command that 
>>> includes a (non-quoted) dollar-sign? Currently,
>>> my workaround is `sh -c "echo \$PATH"`, but this is not really 
>>> satisfactory.
>>>
>>> Best,
>>> Christian
>>>
>>
>

Reply via email to