GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menghapus karakter tercetak di aplikasi konsol (Linux)?

Saya tidak berpikir Anda perlu meminta maaf atas pilihan bahasa. PHP adalah bahasa yang bagus untuk aplikasi konsol.

Coba ini:

<?php
for( $i=0;$i<10;$i++){
  print "$i \r";
  sleep(1);
}
?>

"\r" akan menimpa baris dengan teks baru. Untuk membuat baris baru, Anda cukup menggunakan "\n", tetapi saya rasa Anda sudah mengetahuinya.

Semoga ini membantu! Saya tahu ini berfungsi di Linux, tetapi saya tidak tahu apakah ini berfungsi di Windows atau sistem operasi lain.


Untuk menghapus karakter yang dicetak sebelumnya, Anda memiliki tiga opsi:

  • echo chr(8) . " "; menggemakan karakter belakang, dan akan memindahkan kursor ke belakang satu tempat, dan spasi kemudian akan menimpa karakter tersebut. Anda dapat menggunakan chr(8) beberapa kali berturut-turut untuk mundur beberapa karakter.

  • echo "\r"; akan mengembalikan kursor ke awal baris saat ini. Sekarang Anda dapat mengganti baris dengan teks baru.

  • Opsi ketiga adalah mengatur posisi kursor baris dan kolom menggunakan kode escape ANSI, lalu mencetak karakter pengganti. Ini mungkin tidak bekerja dengan semua terminal:

  function movecursor($line, $column){
      echo "\033[{$line};{$column}H";
  }

\r berhasil.

Untuk referensi di masa mendatang, \b tidak berfungsi di PHP di Linux. Saya penasaran - jadi saya juga melakukan beberapa eksperimen dalam bahasa lain (saya melakukannya di Linux - saya tidak tahu apakah hasilnya akan sama di Windows/Mac)..

\b Bekerja di...

  • Perl
  • Ruby
  • Tcl - dengan kode puts -nonewline "Hello\b"

\b Tidak bekerja di

  • PHP - kode print "Hello\b"; mencetak Hello\b
  • Python - kode print "Hello\b" mencetak Hello<new line> . Hasil yang sama dengan print "Hello\b",

Linux
  1. Cara Shutdown atau Reboot Linux menggunakan Command Line

  2. Cara menginstal aplikasi Spotify di Linux

  3. Cara Reboot Linux Menggunakan Command Line

  1. Cara Menghapus Riwayat Baris Perintah BASH di Linux

  2. Hapus garis konsol yang dicetak saat ini

  3. Cara mencetak nama grup linux pada banyak baris alih-alih keluaran satu baris

  1. Cara Mencetak File JSON dengan Cantik di Terminal Linux

  2. Bagaimana cara mengetik karakter khusus di Linux?

  3. Bagaimana cara mengubah keymap konsol di Linux?