たとえば、私のbashエイリアスの1つはこれです
alias p='clear;ls -lt;pwd;'
clear
は、私が望まない履歴もクリアします。画面を一瞬クリアしたいだけです。
Ctrl+L しかし、まさに私が望むことをします。エイリアスでどのように使用できますか?
clear
が履歴をクリアしていて、端末がそれを実行している関数、エイリアス、またはスクリプトが存在する必要がある場合。 type -a clear
が教えてくれることをご覧ください。
ターミナルをクリアする別の方法は、tput clear
を使用することです。これは、clear
が実行することになっていることとまったく同じことを実行します。エスケープシーケンス(xtermなど)を使用して直接実行することもできますが、端末によって異なる場合があります(gnome-terminal、PuTTYなどのxtermをエミュレートするものでは機能するはずです):printf '\e[H\e[2J'
一般的にあなたが求めているのは、bashからreadlineコマンドを実行することです(zshのzle -U $key_sequence
またはzle $widget $arguments[@]
に相当)。私の知る限り、これはbashでは不可能です。
ただし、この特定のケースでは、clear
の実行と入力の間に違いは見られません。 Ctrl+L (readlineコマンドclear-screen
)。