Dalam bash, Anda dapat melemparkan perintah yang bernama clear
untuk menghapus semua perintah layar
Dan dengan echo
Anda dapat mencetak apa pun yang Anda inginkan pada layar ..
Dalam skrip sederhana saya, saya sering perlu mencetak persentase dari apa yang dilakukan dengan perintah saya ..
Jadi saya bisa melakukan sesuatu seperti ..
echo "89%"
echo "90%"
echo "91%"
dan seterusnya..
apa yang saya benci adalah mendapatkan layar yang penuh dengan persen pembaruan ...
89%
90%
91%
...
yang ingin saya pelajari adalah jika ada kombinasi karakter khusus (mis. "\ 033 [01; 31m") yang dapat digaungkan dengan bash atau php echo dan memberi tahu konsol "hapus karakter cetak sebelumnya yang sebelumnya .."
melakukannya dengan menggunakan sesuatu seperti: (contoh php)
echo str_repeat($neg_character, strlen($last_percentage_update_string));
echo $new_percentage_update_string;
Saya akan mendapatkan string baru dicetak pada posisi yang tepat dari yang sebelumnya tanpa layar penuh garis
Kalau tidak, saya mencari pendekatan untuk melakukan hal yang sama dengan cara lain selalu menggunakan skrip bash dan php (harap sertakan contoh kerja aktual setidaknya dengan konsol debian9 dan php7)
tput cub 3
untuk memindahkan cu rsor b ack oleh 3 kolom tanpa harus hardcode urutan (dantput el
untuk e Rase yang l ine).\e
tidak portabel 2. juga tidak\e[0E
ech
untuk penghapusan. Dan bergerak mundur dengan 3 posisi memiliki gotcha, dan dua kemungkinan optimasi yang cenderung digunakan oleh program layar penuh. Tetapi optimasi dan penghapusan sama-sama berlebihan untuk hal-hal terminal-line saat ini saja sederhana, ketika seseorang mengikuti saran itu untuk menggunakan specifier format lebar-tetap. Jangan lupa bahwa100
adalah 3 digit, dengan cara. (-: