45

我想在 cygwin 终端中从 bash 中清除屏幕。我努力了

cmd /c cls
echo -e "^V^L"
echo -e "\014"

这些都不起作用-它们都给出了“换行符”。按 CTRL+L 确实有效 - 但我想从 Bash 脚本中调用它。

有任何想法吗?

4

7 回答 7

170

或者你可以试试 ctrl-L :)

这也应该适用于大多数模拟终端。

于 2013-03-24T19:37:59.853 回答
66

有两种方法:

使用快捷方式

Alt+F8清屏和Ctrl-L跳页

使用Clear别名

  1. 去:cygwin\home\USER\.bashrc
  2. 打开.bashrc文件并输入这个别名alias clear='printf "\033c"'
  3. 重新启动您的 cygwin 终端。
  4. 清除屏幕使用clear命令。
于 2013-07-31T13:07:28.107 回答
35

如果它包含在您的 cygwin 安装中(运行 Cygwin 的设置并确保您有名为“ncurses”的包),请尝试

tput clear
于 2013-03-24T12:10:08.880 回答
26

我的 ~/.bashrc 中有这个:

alias clear='printf "\033c"'

同样, printf "\033c" 从 bash 脚本中清除屏幕。

于 2013-12-10T15:23:46.000 回答
2

Alt+F8 清屏,Ctrl-L 跳过页面

于 2016-01-22T01:22:41.707 回答
1

使用快捷方式(针对mitty控制台用户)

Alt+F8清屏和Ctrl-L跳页

使用sh bash添加命令

如果您使用console2或相同的控制台,您可以将其添加sh code为不扩展此位置:..\cygwin64\bin\

cls和/或clear(不带扩展名)

#!/bin/sh
printf "\033c"

然后你可以在 cygwin 命令中使用clsand|or 。clear

于 2015-07-14T20:14:05.170 回答
0

我正在尝试做类似的事情,经过研究,我找到了上述答案,我尝试遵循上述一些解决方案,我将该行添加到 .bashrc,但它不接受该功能,我进行了调整并找到了另一个解决方案...它基本上执行' printf "\33c" 但不是调整 .bash.rc 文件,您只需转到目录 - /cygwin/bin ,编写以下命令:- printf "\033c" 并保存它使用文件名“cls”,在bin目录中,确保文件没有扩展名,因此它将具有“文件”类型..保存它,打开shell,命令将运行......

我通过玩msys和cygwin找到了这个方法,我在我的windows PC上都有,结果msys支持“cls”命令,我在它的bin目录中找到了一个同名的文件并将它复制到cygwin的bin文件夹中并使用 printf 函数编辑了文件,这就像一个魅力......希望这会有所帮助。

于 2018-11-18T12:31:36.520 回答