使用 .NET Core 2.0 中的进程类控制 bash shell



在Linux Ubuntu上使用.NET Core 2.0 我想启动一个bash shell使用 Process 类,重定向标准输入和标准输出并希望输入命令并接收结果。

这适用于 cddir 等命令。

当我想用 sudo 执行命令时,bash 挂起,但是,并等待输入密码。我想同样的情况也会发生对于需要通过"是"或"否"确认的命令。

有没有办法输入密码或确认,如是或否从我的申请?

选项 1 是,从搜索中删除"netcore"标签,并查看纯基于 bash 的答案,例如运行 shell 时有没有办法自动输入?

选项 2,是否有或您可以创建不需要 sudo 的用户名/密码?如果是这样,那么正确的Process.Start()过载可能会解决问题?我希望ProcessInfo类上可能有一些东西可以请求提升的权限。在 Windows 平台上,使用 Verb="runas" 可以做到这一点,但会调用 UAC。

选项

3:忘记 sudo 并查看其他 Linux 选项,例如创建设置了setuid的可执行文件。看看例如 https://serverfault.com/questions/262809/correct-way-to-give-elevated-privileges-to-mono-application 的一些想法。

最新更新