Bu satırları ekleyin .bashrc
:
prompt_on_top() {
tput cup 0 0
tput el
tput el1
}
pre_cmd() {
if [ "$BASH_COMMAND" = "$PROMPT_COMMAND" ] || [ -n "$COMP_LINE" ]; then
return
fi
printf "\33[2J"
}
PROMPT_COMMAND="prompt_on_top"
trap 'pre_cmd' DEBUG
bash
gösteri isteminden önce komutu yürütecek olan PROMPT_COMMAND var bash
. Burada , imleci ekranın üst kısmına ayarlamak için tput işlevini prompt_on_top
kullanan bir işleve ayarladık.
bash
ayrıca, herhangi bir komutu yürütmeden önce, sinyali işlemek için tuzak kullanarak bir komutu yürütmenin bir yoluna sahiptir DEBUG
. Burada pre_cmd
, eski ekranı temizleyecek ve tamamlamayı ( COMP_LINE boş değil) veya komutu çalıştırırsak hiçbir şey yapamayacak şekilde ayarladıkBASH_PROMPT
.
Bu yaklaşımla ilgili bir sınırlama vardır, eğer komut çıktısı bir ekrana çok uzunsa, çıktı prompt_on_top
eylemle geçersiz kılınır . Bu durumda, tüm çıktıyı okumak için çıktıyı bir çağrı cihazına bağlamanız gerekir.
cat
bir dosya, ters sipariş olur?