如何在命令中传递多个参数,以使用C/C 和SSH在远程Linux计算机上执行EXE
How to pass multiple arguments in a command to execute an exe on remote linux machine using C/C++ and SSH
我使用命令成功地在本地计算机上执行了我的EXE" ./excutable agr1 arg2 arg3 arg4"然后,它显示了参数计数的价值为5。但是,当我想从远程Linux计算机(System2)进行相同的操作,然后我使用QT Creator中的libssh打开了SSH频道,然后我确实以下内容:
- qString str ="/root/oputable arg1 arg2 arg2 arg3 arg4";
- rc = channel_request_exec(channel,str);
然后执行的EXE,但显示为1。表示参数未正确传递。正确的方法是什么?
问题是QString格式,使用以下格式
qString str = qString("%1%2%3%4%5")。arg("/root/oferable"," arg1"," arg2"," arg2"," arg3"," arg3"," arg4"); p> rc = channel_request_exec(channel,str);
在在Google和Stackoverflow上进行了大量搜索之后(并且是变体),我发现了上述问题的答案,这并不是一个格式化错误。问题在于SSH本身。它不允许我们精确地指定命令。通过多个参数传递命令的正确方法如下:const char str [] =" "/root/oputable arg1 arg2 arg2 arg3 arg4 ";而且效果很好。
我在这里找到了答案:https://unix.stackexchange.com/q/80821https://unix.stackexchange.com/a/80838
相关文章:
- 在C++/Linux中设置单调时钟的一些技巧
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何在linux终端中同时编译和运行c++代码
- 在Linux for Windows上编译C++代码时出错
- 如何找到锁定Linux futex的C++行
- 在linux上调试巨大的C++项目
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- LibGit2 SSH身份验证失败
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- c++方法参数只能在linux的发布模式下自行更改
- 在Linux和C++中的Windows上,散列字符串值会产生不同的输出
- 这里在 Linux 中具有"CreatePipe"和"CreateProcessW"功能吗?
- 函数在Windows或Linux上运行时表现不同
- 在Linux下捕获SIGKILL的C++程序
- 在为LINUX创建共享库时,如何避免STL的私有/弱副本
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 如何在CPP中创建应该在Windows和Linux上运行的套接字?
- 如何在命令中传递多个参数,以使用C/C 和SSH在远程Linux计算机上执行EXE