Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash SSH登录后如何清除终端?_Bash_Ssh_Terminal - Fatal编程技术网

Bash SSH登录后如何清除终端?

Bash SSH登录后如何清除终端?,bash,ssh,terminal,Bash,Ssh,Terminal,我正在尝试通过ssh连接到服务器。一旦连接,应清除端子 由于生成了密钥,我可以通过ssh连接到服务器usr@svr而不提示输入密码。这很有效 为了摆脱 Debian GNU/Linux系统附带的程序是免费的 软件;描述了每个程序的精确分布项 在/usr/share/doc/*/copyright中的各个文件中 在某种程度上,Debian GNU/Linux绝对没有保修 适用法律允许的 我通常只需键入清除。但是,我不希望每次都键入此内容,而是将过程自动化 sshusr@svr“清除”-->“未设置

我正在尝试通过ssh连接到服务器。一旦连接,应清除端子

由于生成了密钥,我可以通过
ssh连接到服务器usr@svr
而不提示输入密码。这很有效

为了摆脱

Debian GNU/Linux系统附带的程序是免费的 软件;描述了每个程序的精确分布项 在/usr/share/doc/*/copyright中的各个文件中

在某种程度上,Debian GNU/Linux绝对没有保修 适用法律允许的

我通常只需键入
清除
。但是,我不希望每次都键入此内容,而是将过程自动化

sshusr@svr“清除”
-->“未设置术语环境变量。”。我在谷歌上搜索了几个关于未设置环境变量的解决方案,但没有成功

因此,我尝试了
ssh-tusr@vr“清除”
;这将成功清除终端,但也会立即关闭连接(“连接到IP已关闭”)。计算机连接到服务器,清除屏幕,关闭连接

下一次尝试是在服务器上创建一个bash脚本,以便在连接到它之后运行

#/bin/bash
clear
## cl.sh, chmod +x
sshusr@svr./cl.sh
-->“未设置术语环境变量”

另一种尝试是创建连接到服务器的bash脚本,并通过
ENDSSH
清除终端

#/bin/bash
ssh usr@svr <<'ENDSSH'
clear
ENDSSH
## sc.sh, chmod +x

我是这方面的初学者,所以如果我犯了一个非常明显的错误,请耐心等待。我试图尽可能详细,并在发布前对此进行研究,但找不到我问题的答案。例如,“清除”以外的命令可以工作(
ssh)usr@svrls
),但这对我没有帮助。

您的问题所指的文本是每日信息(MOTD)的一部分

如果您可以成为服务器上的root用户,则只需在
/etc/motd
中修改该消息即可。请注意,根据服务器的分布情况,此文件通常会以某种方式生成(覆盖任何更改),例如,在Debian上,它是在引导时从
/etc/motd.tail
生成的,因此您可能需要更改该文件


请参阅手册页
motd(5)

要防止打印该消息,您可以在主目录(服务器上)中创建一个名为
.hushlogin
的文件。SSH连接到服务器并运行命令
touch~/.hushlogin
。如果该文件存在,则登录shell将不再打印您看到的motd(当日消息)。

所有启动消息都在
motd
文件(
/etc/motd
)中定义

但是,如果希望清除控制台以增加隐私,请添加以下代码:

 [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
您的
.bash\u档案
.bash\u注销
(注销时)。或者使用
清除
命令


注销时清除屏幕是Debian Linux发行版的默认行为。

我找到了另一个简单的解决方案

ssh -t usr@svr 'clear;bash'

谢谢你的意见。但是,上面提到的使用.hushlogin的解决方案似乎更简单。不客气。我同意你的观点,它也更好地符合“用户”的观点。
ssh -t usr@svr 'clear;bash'