![](/img/trans.png)
[英]When I execute docker command from C# app I get "docker:invalid reference format" error
[英]I get a can't execute binary file error when running a bash command from C#
我创建了一个 Discord Bot,您可以与之交互(在具有默认 Raspberry Pi 操作系统的 Raspberry Pi 上运行)。 我还添加了一个命令来执行 shell 命令。 我的代码:
ProcessStartInfo inf = new()
{
CreateNoWindow = true,
RedirectStandardError = true,
RedirectStandardOutput = true,
RedirectStandardInput = true,
FileName = "/bin/bash",
Arguments = command,
};
if (Process.Start(inf) is Process cmd)
{
string ret = "Output: " + await cmd.StandardOutput.ReadToEndAsync();
ret += "\nError Output: " + await cmd.StandardError.ReadToEndAsync();
await Program.Log(ret);
return ret;
}
当我将命令设置为“回显你好,世界!” 我只是得到错误
/usr/bin/echo: /usr/bin/echo: 无法执行二进制文件
来自标准输出。 我究竟做错了什么?
如果要通过它执行某些操作,则必须将 -c 参数传递给 bash
ProcessStartInfo inf = new()
{
CreateNoWindow = true,
RedirectStandardError = true,
RedirectStandardOutput = true,
RedirectStandardInput = true,
FileName = "/bin/bash",
Arguments = $"-c \"{command}\""
};
if (Process.Start(inf) is Process cmd)
{
string ret = "Output: " + await cmd.StandardOutput.ReadToEndAsync();
ret += "\nError Output: " + await cmd.StandardError.ReadToEndAsync();
await Program.Log(ret);
return ret;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.