GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was sind die Worttrennzeichen von Readline?

Wenn ich ein „Wort“ in Bash lösche, stoppt es bei bestimmten Zeichen wie _ und / . Zum Beispiel, wenn ich

eingebe
/foo/bar

und aktiviere backward-kill-word (normalerweise zugeordnet zu AltRücktaste und/oder Strgw ), der restliche Text ist

/foo/

. Dies nicht entsprechen $COMP_WORDBREAKS oder readline ‘s rl_completer_word_break_characters . Wie kann ich erkennen (vorzugsweise in einem laufenden System, anstatt die Standardwerte im Code, da sie vermutlich überschrieben werden können), welche Zeichen verwendet werden, um Wortumbrüche zu bestimmen?

Akzeptierte Antwort:

In der Bash-Dokumentation heißt es:

backward-kill-word (M-Rubout)

Töte das Wort hinter dem Punkt. Wortgrenzen sind die gleichen wie die von Backward Word.

Und

backward-word (M-b)

Zum Anfang des aktuellen oder vorherigen Wortes zurückgehen. Wörter bestehen aus alphanumerischen Zeichen (Buchstaben und Ziffern).

Der Umgang mit backward-word in Bash 4.2 erfolgt im gebündelten libreadline-Code (text.c:rl_backward_word ). Der Wortumbruch basiert auf rl_alphabetic , das selbst auf isalnum angewiesen ist Funktion. Dies ist vom Gebietsschema abhängig, aber nicht direkt in Bash konfigurierbar.

Beachten Sie, dass Bash 4.0 mit dem shell-forward-word einen weiteren „Wort“-Typ eingeführt hat und shell-backward-word Aktionen (und Kill-Äquivalente). Diese brechen nur bei Shell-Metazeichen (()<>;&|" ) und Leerzeichen (möglicherweise abhängig vom Gebietsschema über isblank). ), behandelt im Haupt-Bash-Code (bashline.c ).


Linux
  1. Debian vs. Ubuntu:Was sind die Unterschiede?

  2. Was sind die verschiedenen Arten von Shells in Linux?

  3. Was sind die Vorteile von CloudLinux?

  4. Welche Arten von DNS-Servern gibt es?

  5. Was sind Bash-Exit-Codes in Linux

Cassandra vs. MongoDB – Was sind die Unterschiede?

Terraform vs. Kubernetes:Was sind die Unterschiede?

Was ist Intel SGX und was sind die Vorteile?

useradd vs. adduser:Was sind die Unterschiede?

Was sind die standardmäßigen GCC-Include-Verzeichnisse?

Was sind die Vorteile des Logical Volume Managers