Как создать cls-скрипт в стиле Windows для Ubuntu?

Как создать cls-скрипт в стиле Windows для Ubuntu?

Как создать команду типа cls для Ubuntu/Linux, которая не только очистит экран эмулятора терминала, но и сделает так, что вы не сможете прокрутить вверх, чтобы увидеть то, что вы очистили? Обратите внимание, что команда clearне удаляет текст. Она просто прокручивает его вверх из поля зрения. Также будет полезна любая информация о настройке ее как общесистемной команды, называемой cls(особенно полезно для пользователей Windows, переходящих на Linux).

решение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, команда очистки терминала выдает escape-код \033c. Это escape-последовательность VT-100 ANSI для сброса терминала в исходное состояние (RIS, см.здесь) и представляет собой символ ASCII «Escape» ( \033), за которым следует c.

Поэтому, чтобы очистить ваш терминал, вам понадобится всего лишь один из

printf printf "\033c"

или

echo -ne "\033c"

Чтобы сделать это проще, вы можете создать для него псевдоним. Добавьте эту строку в ваш ~/.bashrc:

alias cls="printf '\033c'"

Теперь откройте новый терминал и запустите clsего, чтобы очистить его. Обратите внимание, что если уже есть команда с именем cls, это заменит ее. Убедитесь, что вы выбрали уникальное имя, чтобы избежать этого.

Связанный контент