堡垒机Linux黑屏识别命令Set -n探索可能性

发布时间:2026/6/5 8:57:30

堡垒机Linux黑屏识别命令Set -n探索可能性 问题自己根据流拼接命令比如向前向后-- -- backspace 这几个按钮符号 如果有变化则代码中不能写死需要根据配置动态设置。Xterm 黑屏通过 Websocket 发送数据流给SSH客户端。数据流如下图命令识别 方案参考揭秘黑屏操作特性以及不同命令识别方案的比对-CSDN博客自己根据数据流进行识别需要根据黑屏的交互维护后端的命令buffer比如ls backspace l 结果就是ls还有homeend鼠标向前 向后以及一些快捷键并这些快捷键都可以被修改。常用快捷键以及快捷键配置inputrc文件stty命令。详细参考Linux 黑屏操作快捷键已经配置修改inputrc stty-CSDN博客解决方案方案描述1. 自己在代码中拼接命令2. 将数据流发送给bash shell因为最好的命令识别主体是bash而非自己识别否则有一致性问题set -n 不执行set -n的作用是解释命令但不执行。局限于脚本bash shell交互黑屏set -n是没有效果的原因交互shell如果能设置成功就没法退出交互页面了。那么启动bash的时候设置-n这样整个黑屏就没法执行命令。命令bash -n输出如下因为启动bash会获取profile文件PS1环境变量因为是-n参数没法读取PS1导致输出bash-4.4 #PS1 /bin/bash -n这个bash-4.4 字符串可能不确定如果能在启动时设置PS1就不会变了。PS1 /bin/bash -n设置SSH用户默认bash[rootiZ2ze6n5mtnyh6st0dxrvqZ ~]# cat /etc/passwd testuser:x:1001:1002::/home/testuser:/opt/shell/custom_shell.shcustom_shell.sh文件[rootiZ2ze6n5mtnyh6st0dxrvqZ shell]# cat custom_shell.sh #!/bin/sh echo echo Connected: $(date) echo User: $(whoami) echo From: $(echo $SSH_CLIENT | awk {print $1}) echo echo echo enter terminal... /bin/bash -nx [rootiZ2ze6n5mtnyh6st0dxrvqZ shell]#用户testuser登录ssh默认执行opt/shell/custom_shell.sh方案不足vim 11.txt 文件的数据流不是命令是不可以发给bash去识别的。需要进行根据 识别码 判断是否为vim文本编辑模式。

相关新闻