如何为 Ubuntu 制作 Windows 风格的 cls 脚本?

如何为 Ubuntu 制作 Windows 风格的 cls 脚本?

如何为 Ubuntu/Linux 创建一个 cls 类型的命令,它不仅可以清除终端仿真器屏幕,还可以使您无法向上滚动查看清除的内容?请注意,该clear命令不会消除文本。它只是将其向上滚动到视野之外。此外,有关将其设置为系统范围命令的任何信息cls都会有所帮助(对于即将转用 Linux 的 Windows 用户尤其有用)。

答案1

创建一个脚本,将其命名为cls,使其可执行(chmod +x cls),并赋予其以下内容:

#!/bin/bash

printf "\033c"

在将其添加到路径之前,您可能需要确保没有cls已被调用的程序:

update-alternatives --config cls

然后,要将其添加到系统范围的路径中,请将脚本放在安全的系统位置,例如,/opt/bin/cls并使用update-alternatives将其添加到所有用户的路径中:

sudo update-alternatives --install /usr/bin/cls cls /opt/bin/cls 0

您可以将脚本放在~/bin(波浪号代表您的主目录)中,以便它位于单个用户的路径中(如果您必须创建目录bin,则需要重新启动计算机才能将其放置在您的路径中。在这种情况下,无需对 update-alternatives 执行任何操作。

答案2

正如@user2962794所提到的,清除终端的命令是发出转义码\033c。这是用于将终端重置为初始状态的VT-100 ANSI转义序列(RIS,请参阅这里) 并且是 ASCII“转义”字符 ( \033) 后跟c

因此,要清除终端,你只需要

printf printf "\033c"

或者

echo -ne "\033c"

为了简化操作,您可以为其创建一个别名。将此行添加到您的~/.bashrc

alias cls="printf '\033c'"

现在,打开一个新终端并运行cls将清除它。请注意,如果已经有一个名为的命令cls,它将取代它。请确保选择一个唯一的名称以避免这种情况。

相关内容