如前所述[{3}},我正在尝试在Pascal中重新创建一个我最初用Ruby编写的SSH配置文件管理器。提供答案后,我已经能够让shell保持开放并接受输入。现在我有任何新问题,所有输入都被隐藏,所有输出似乎都在每行之前用几个制表符填充。更新后的相关代码如下:
if HasOption('c', 'connect') then begin
TempFile:= GetRecord(GetOptionValue('c', 'connect'));
AProcess:= TProcess.Create(nil);
AProcess.Executable:= '/usr/bin/ssh';
AProcess.Parameters.Add('-p');
AProcess.Parameters.Add(TempFile.Port);
AProcess.Parameters.Add('-tt');
AProcess.Parameters.Add(TempFile.Username + '@' + TempFile.Address);
AProcess.Options:= [];
AProcess.ShowWindow:= swoShow;
AProcess.InheritHandles:= False;
AProcess.Execute;
AProcess.WaitOnExit;
AProcess.Free;
Terminate;
Exit;
end;
输出提供如下所示:
我按顺序运行了ls
,pwd
和exit
。
答案 0 :(得分:2)
所以可能你使用crt或其他终端库将终端置于原始模式,同时需要cr和lf。
从uses子句中删除crt,可能会更好