2013-03-24 3 views
42

Я хочу очистить экран от bash в терминале cygwin. я попробовалcygwin clearscreen from bash

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

Ни одна из этих работ - все они дают «перевод строки». Нажатие CTRL + L действительно работает, но я хочу вызвать его из сценария Bash.

Любые идеи?

+0

@Mat: Это имеет тот же эффект, что и Ctrl + L, он толкает только текст вверх от экрана, но не очищает его – HXCaine

+1

tput упомянутое ниже, должно быть частью ncurses. – mikyra

+0

Символ Control-L (который является форматированием, а не переводом строки) обычно ничего не делает при печати на эмуляторах типа vt100. –

ответ

34

Если он содержится в вашем Cygwin установить (запустить установку Cygwin и убедитесь, что у вас есть пакет под названием "Ncurses"), попробуйте

tput clear 
+5

Мне нужно было установить ncurses - теперь это работает спасибо – ManInMoon

+7

Я думаю, что команда 'clear' также является частью' ncurses'. –

+4

Настоящий ответ здесь: установить ncurses, тогда «нормальная» команда очистки работает, как сказал Кейт. – MickLH

161

Или вы можете попробовать Ctrl-L :)

Это должен работать и на большинстве эмулируемых терминалов.

+3

Из вопроса: «Нажатие CTRL + L действительно работает, но я хочу вызвать его из сценария Bash». –

+5

'CTRL + L', кажется, только прокручивает старый контент, а не удаляет его, как' ALT + F' –

+1

Ничего себе, этот ответ обязательно оплачивает счета! Sheesh, интересно, что это такое? поймал бы меня. –

65

Существует два способа:

Использование ярлыков

Alt+F8 очистить экран и Ctrl-L, чтобы пропустить страницу

Использование Clear псевдоним

  1. Перейти к: cygwin\home\USER\.bashrc
  2. Открыть файл .bashrc и поместить этот псевдоним alias clear='printf "\033c"'.
  3. перезапустите терминал cygwin.
  4. , чтобы очистить экран использования clear команда.
+3

+1 для Alt + F8. Благодаря ! – EFreak

+1

Из вопроса: «Нажатие CTRL + L действительно работает, но я хочу вызвать его из сценария Bash». –

+0

ALT + F8 работает для меня .... – Armaan

25

У меня есть это в моем ~/.bashrc:

alias clear='printf "\033c"' 

также, Printf "\ 033c" очищает экран изнутри Баш скрипт.

+0

Умный раствор. Просто добавила его в мой .bashrc – mbokil

1

Использование ярлыков (для пользователей mitty консоли)

Alt+F8 очистить экран и Ctrl-L, чтобы пропустить страницу

Использование sh bash добавив команду

Если вы используете console2 или же консоли, вы можете добавить этот sh code как без расширения это место: .. \ cygwin64 \ bin \

cls a й/или clear (без расширения)

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

Затем вы можете использовать cls и | или clear в Cygwin команды.

2

Alt + F8, чтобы очистить экран и Ctrl-L пропустить стр

Смежные вопросы