Ubuntu 用の Windows スタイルの cls スクリプトを作成するにはどうすればいいですか?

Ubuntu 用の Windows スタイルの cls スクリプトを作成するにはどうすればいいですか?

ターミナル エミュレーター画面をクリアするだけでなく、クリアした内容を見るために上にスクロールできないようにする、Ubuntu/Linux 用の cls タイプのコマンドを作成するにはどうすればよいでしょうか。この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が述べたように、端末をクリアするコマンドはエスケープコードを発行します\033c。これは、端末を初期状態にリセットするためのVT-100 ANSIエスケープシーケンスです(RIS、参照)。ここ) であり、ASCII「エスケープ」文字 ( \033) の後にc.が続きます。

したがって、端末をクリアするには、次のいずれかが必要です。

printf printf "\033c"

または

echo -ne "\033c"

簡単にするために、エイリアスを作成することができます。次の行を に追加します~/.bashrc:

alias cls="printf '\033c'"

ここで、新しいターミナルを開いて を実行するとclsクリアされます。 という名前のコマンドがすでに存在する場合はcls、これがそのコマンドに取って代わることに注意してください。これを回避するには、一意の名前を選択してください。

関連情報