我需要在ProcessStartInfo.Arguments中转义哪些字符?

时间:2016-10-12 08:58:00

标签: c# docker process docker-machine processstartinfo

我正在使用ProcessProcessStartInfo执行Docker命令。但是,它不适用于某些命令。这是我正在使用的代码和示例命令。在Docker Toolbox命令行上执行时,所有这些命令都可以正常工作。

命令:

  1. string command =“docker-machine create -d virtualbox --virtualbox-memory 4096 devmachine”
  2. string command =“docker-machine ip devmachine”
  3. string command =“eval $(docker-machine env devmachine)”

    ProcessStartInfo psi = new ProcessStartInfo();
    psi.CreateNoWindow = true;
    psi.FileName = @"C:\Program Files\Git\bin\bash.exe";
    psi.WorkingDirectory = @"C:\Program Files\Docker Toolbox";
    psi.Arguments = @"--login -i ""C:\Program Files\Docker Toolbox\start.sh"" " + command;
    psi.UseShellExecute = false;
    psi.RedirectStandardOutput = true;
    psi.RedirectStandardInput = true;
    psi.RedirectStandardError = true;
    Process process = Process.Start(psi);
    
  4. 只有第3个命令不起作用,第1和第2个工作正常。我想知道是否有第三个命令需要转义的字符串。只有第3个命令包含$()字符

0 个答案:

没有答案