Di jendela terminal konsole di luar layar menjalankan bash shell dengan TERM diatur ke konsole-256color jika saya mengetik:
echo -n $ '\ a' atau
echo -n $ '\ eg' atau
./ringbell di mana konten ./ringbell berada
#! / bin / bash echo -n $ '\ eg'; echo -n $ '\ a'
Mereka semua menghasilkan bel audio yang dikonfigurasi mati. Jika saya memasuki sesi layar (.screenrc saya juga menetapkan istilah untuk konsole-256color) hanya yang kedua dari 3 perintah di atas (echo -n $ '\ eg') menghasilkan bel audio yang didengar. Apakah saya harus memodifikasi skrip atau apakah ini masalah dengan layar?
Versi layar paket ubuntu yang saya miliki adalah 4.1.0 ~ 20120320gitdb59704-9.
Jawaban:
Dari memori, Ctrl-G adalah karakter bel, jadi saya pikir itu sebabnya yang kedua bekerja. Tetapi layar bisa pilih-pilih karakter apa yang diterimanya karena dibutuhkan Ctrl-A sebagai kode perintah.
Coba ini
Saya menemukan ini di rosettacode , semoga akan memberi Anda beberapa opsi
sumber
Solusi terbaik:
printf '\a'
Itu karena
printf
sebagian besar shell bekerja dengan baik, dan ada juga versi yang dapat dieksekusi setara yangprintf
diinstal dengan sistem Linux / Mac.Opsi lain: Jika kutukan telah diinstal, maka Anda juga dapat menggunakan:
tput bel
Jika Anda menggunakan versi bash terbaru, maka dapat menggunakan:echo -n '\a'
sumber