Open makat1983 opened 5 months ago
A note on terminology: the CLS
command CL
ears the S
creen (console character output buffer), not the "history". The term "history", in the context of a command-line shell, usually refers to the list of previously entered commands, which you can retrieve if you e.g. press cursor-up at the prompt.
Try running ssh -t ...
to force the allocation of a pseudo-terminal even when you are not using ssh interactively.
Summary of the new feature / enhancement
Run the batch file with the ssh command in the following way. The batch file contains the cls command, but does not erase the history. Running the same batch file while connected to ssh, cls works.
echo test
cls
ssh user@server "chcp 65001 && C:\path\to\xxx.bat"
3.The result of the batch file execution is returned. cls does not erase the history.
PS C:\Users\makat> ssh user@server "chcp 65001 && C:\path\to\xxx.bat" administrator@home's password: Active code page: 65001
administrator@HOME C:\Users\Administrator>echo test test
administrator@HOME C:\Users\Administrator>cls
PS C:\Users\makat>
I assume that the reason the history does not disappear with the former method is that the results of the batch file executed on the server are returned to the local console of the client. I assume that the history disappears with the latter method because you are establishing an SSH connection and interacting directly with the server shell, so the effect of cls is reflected in the client's console.
Is the former behavior by design? If not, please consider whether it can be changed so that it is the latter behavior.
Proposed technical implementation details (optional)
No response