我想打开一个新终端并在该打开的终端中运行ssh会话。我正在使用的代码是
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
char cmd[50];
strcpy(cmd,"gnome-terminal");
system(cmd);
strcpy(cmd,"ssh 172.27.23.143");
system(cmd);
}
但它不起作用。请帮忙
答案 0 :(得分:1)
对于您想要做的事情,您应该使用以下格式的命令:
void main()
{
char cmd[50];
strcpy(cmd,"gnome-terminal -e \"ssh 172.27.23.143\"");
system(cmd);
return;
}
在命令完成时使新终端保持打开状态:
在gnome-terminal
Hold the terminal
的下拉菜单中选择When command exits
。 gnome-terminal --window-with-profile=MYPROFILE -e mycommand
编辑: 要链接多个命令,请使用:
strcpy(cmd,"gnome-terminal -e \"ssh 172.27.23.143 && command1 && command2 && commandN\"");
在shell中,我们使用&&
运算符链接命令。