我安装了Cygwin,并选择了相对较少的软件包。
在终端中,我尝试使用“clear”命令来清除终端屏幕,但是出现了以下错误信息:
bash: clear: command not found
我该如何让这个起作用?
安装Cygwin包ncurses
;它在Utils类别中。
这样就可以了:
alias clear='printf "\033c"'
cmd /c cls
曾经像https://dev59.com/8WUp5IYBdhLWcg3wAjtF中描述的那样工作。但是这个解决方案已经停止工作了,而这个`printf`在本文撰写时仍然有效。 - ctrueden~/.bashrc
文件中并source
它,就完成了...很好地指出了这一点。 - LukeSavefrogs只需使用此快捷键:Alt+F8
和Ctrl-L
即可跳过页面。
使用cygcheck
命令来检查它属于哪个软件包(在命令字符串中添加.exe
,在这个例子中是:clear.exe
)
> cygcheck -p 'clear.exe'
Found 4 matches for clear.exe
ncurses-debuginfo-5.9-20150307-1 - ncurses-debuginfo: Debug info for ncurses (installed binaries and support files)
ncurses-debuginfo-5.9-20150404-1 - ncurses-debuginfo: Debug info for ncurses (installed binaries and support files)
ncurses-5.9-20150307-1 - ncurses: Terminal display utilities (installed binaries and support files)
ncurses-5.9-20150404-1 - ncurses: Terminal display utilities (installed binaries and support files)
你需要使用cygwin安装ncurses
软件包。
有了clear.exe
程序,对于bash脚本文件非常方便:
Windows Cygwin关于clear.exe
程序的详细命令。
从http://cygwin.com/下载Cygwin setupx86.exe
或者其他名称。
运行它并从互联网下载。 *如果您有代理连接,则可能需要使用Internet Explorer设置或设置自定义代理。
选择所有默认设置,并完成安装。
再次运行安装程序并从互联网下载,但这次当它来到您要定制安装的文件树时,您将进入Utils
。
展开Utils
并进入ncurses
文件夹。在那里,您将点击ncurses utils左侧的skip
项目(其中有几个)。
更改skip
为您想要安装的任何版本的ncurses
后,继续安装并完成。
再次运行安装程序,这次您将扩展Lib
,即库。
找到terminfo库安装程序,再次将skip
更改为最新版本,然后继续并完成安装。
注意 您可能需要退出Windows并重新登录,或者重启计算机,以使新程序生效。这是由于Cygwin的后台会话可能性。
注意 您还必须进行三个单独的安装。
我在我的系统上尝试过:它能够正常工作:
Just use: cntrl+l
希望这可以帮到你!
我右键单击 > 重置... (Alt + F8) ,在Cygwin-x86-2.830上解决了问题。
Ctrl
+L
和ncurses的clear
命令会保留滚动缓存,而这个则会清除它。 - ZantierTLDR: 包搜索使用正则表达式。因此,搜索正则表达式 "/clear.exe$" 将给出最佳匹配。这导致了 ncurses
包。
解决此类问题的一般方法:
在Cygwin包搜索页面上使用完整的可执行文件名进行搜索。
现在可以通过几种方式进行包搜索:
按可执行文件基本名称进行基本搜索。
搜索 clear
的包:
https://cygwin.com/cgi-bin2/package-grep.cgi?grep=clear
-> 找到 600 个与 clear 相关的结果。
包括 .exe
后缀以获得更好的匹配。
搜索 clear.exe
的包:
https://cygwin.com/cgi-bin2/package-grep.cgi?grep=clear.exe
-> 找到 14 个与 clear.exe 相关的结果。
包括 /
前缀以获得更好的匹配。
搜索 /clear.exe
的包:
https://cygwin.com/cgi-bin2/package-grep.cgi?grep=/clear.exe
-> 找到 5 个与 /clear.exe 相关的结果。
包括 $
后缀以获得最佳匹配。
(在这个正则表达式中,$
符号表示行尾。)
搜索 /clear.exe$
的包:
https://cygwin.com/cgi-bin2/package-grep.cgi?grep=/clear.exe$
-> 找到 3 个与 /clear.exe$ 相关的结果。
这三个匹配项都来自多个版本的 ncurses
包。因此,要获取 clear.exe
,您需要安装 ncurses
。
打开Windows资源管理器然后导航到:
[Cygwin安装目录]\home\[用户]\
例如:C:\cygwin\home\wreckseal
然后用Notepad++打开文件.bashrc
。
将光标移动到最后一行的末尾,按下Enter
键,然后添加以下文本。
alias cls='echo -e "\033c"'
或者以下文本:
alias cls='printf "\033c"'
重启Cygwin,输入cls
。 完成!
请注意,在发送cls
命令后,没有滚动条。 我更喜欢printf
版本而不是echo
版本。 你自己试试吧!
apt-cyg install ncurses
我个人更喜欢使用这个工具来安装库,而不是使用Cygwin工具,因为Cygwin版本都有“.exe”附加在它们的后面,而且当从SO(例如)复制和粘贴Linux命令时可能会很麻烦。
set -o vi
模式下不起作用;但在set -o emacs
模式下可以。谢谢。 - MarnixKlooster ReinstateMonicaset -o vi
模式下,您可以键入 escape,然后是 control-L(然后按i
返回插入模式)。 (个人而言,我喜欢将 vi 作为编辑器,但不喜欢将其作为交互式 shell 模式。) - Keith Thompson