GNU/Linux >> Belajar Linux >  >> Linux

Apa itu Pemisah Kata Readline?

Ketika saya menghapus "kata" di Bash, itu akan berhenti di karakter tertentu seperti _ dan / . Misalnya, jika saya mengetik

/foo/bar

dan aktifkan backward-kill-word (biasanya dipetakan ke AltSpasi mundur dan/atau Ctrlw ), teks yang tersisa adalah

/foo/

. Ini tidak sesuai dengan $COMP_WORDBREAKS atau readline rl_completer_word_break_characters . Bagaimana saya bisa mendeteksi (sebaiknya dalam sistem yang berjalan, daripada default dalam kode, karena mereka mungkin dapat diganti) karakter mana yang digunakan untuk menentukan jeda kata?

Jawaban yang Diterima:

Dokumentasi bash menyatakan:

backward-kill-word (M-Rubout)

Bunuh kata di balik titik. Batas kata sama dengan yang digunakan oleh kata mundur.

Dan

backward-word (M-b)

Kembali ke awal kata saat ini atau sebelumnya. Kata terdiri dari karakter alfanumerik (huruf dan angka).

Penanganan backward-word di Bash 4.2 dilakukan dalam kode libreadline yang dibundel (text.c:rl_backward_word ). Kata istirahat didasarkan pada rl_alphabetic , yang bergantung pada isalnum fungsi. Ini bergantung pada lokal, tetapi tidak dapat dikonfigurasi secara langsung di bash.

Perhatikan bahwa Bash 4.0 memperkenalkan jenis "kata" lain dengan shell-forward-word dan shell-backward-word tindakan (dan membunuh setara). Ini hanya rusak pada karakter meta shell (()<>;&|" ) dan kosong (mungkin tergantung lokal melalui isblank ), ditangani dalam kode bash utama (bashline.c ).


Linux
  1. pfSense vs router Netgear:Apa perbedaan utamanya?

  2. Fedora vs Ubuntu:Apa perbedaan utama?

  3. Apa Jenis-Jenis Server DNS

  1. Apa itu Kode Keluar Bash di Linux

  2. Apa kerugian dari antrian pesan Linux?

  3. Apa yang dilakukan -e dalam bash shebang?

  1. Debian vs Ubuntu:Apa perbedaannya?

  2. Apa Perbedaan Mendasar Antara Kerang *nix Mainstream??

  3. Apa saja Jenis Shell yang Berbeda di Linux?