„GNU Readline“ – Versionsunterschied
| [gesichtete Version] | [gesichtete Version] |
Y2kbug (Diskussion | Beiträge) Form; -NL; |
K Eigenname des Projekts ist "GNU Readline", mit großem "r", was auch deutscher Rechtschreibung entsprich |
||
| Zeile 8: | Zeile 8: | ||
| Website = [https://tiswww.case.edu/php/chet/readline/rltop.html The GNU Readline Library] |
| Website = [https://tiswww.case.edu/php/chet/readline/rltop.html The GNU Readline Library] |
||
}} |
}} |
||
'''GNU |
'''GNU Readline''' ist eine vom [[GNU-Projekt]] erstellte und gewartete [[Programmbibliothek]] mit Funktionen zum Bearbeiten von Zeilen. Sie steht unter der [[GNU General Public License|GPL]] und wird in Projekten wie zum Beispiel [[Unix-Shell#Die Bourne-Again-Shell|bash]] genutzt. Ab Version 6.1 unterstützt readline auch [[Unicode]]-Zeichen. |
||
Unterstützt ein Programm readline, so bewegt beispielsweise der Druck auf {{Taste|[[Steuerungstaste|Strg]]|halten}} + {{Taste|B}} den [[Cursor]] ein Zeichen zurück, {{Taste|Strg|halten}} + {{Taste|F}} bewegt den Cursor ein Zeichen vorwärts und {{Taste|Strg|halten}} + {{Taste|R}} durchsucht die Befehlspuffer. Diese standardmäßigen [[Tastenkombination|Tastenkombinationen]] stammen von einem der ersten GNU-Projekte, dem [[Editor (Software)|Texteditor]] [[Emacs]]. Readline unterstützt eine Vielzahl einfacher Funktionen, wie beispielsweise einen sogenannten „{{lang|en|kill ring}}“ (eine flexiblere Variante einer [[Kopieren und Einfügen|Zwischenablage]]) und [[Befehlszeilenergänzung]]. Da es sich um eine [[Plattformunabhängigkeit|plattformübergreifende]] Bibliothek handelt, erlaubt readline-Anwendern das gleiche Zeilenbearbeitungsverhalten auf verschiedenen Betriebssystemen. |
Unterstützt ein Programm readline, so bewegt beispielsweise der Druck auf {{Taste|[[Steuerungstaste|Strg]]|halten}} + {{Taste|B}} den [[Cursor]] ein Zeichen zurück, {{Taste|Strg|halten}} + {{Taste|F}} bewegt den Cursor ein Zeichen vorwärts und {{Taste|Strg|halten}} + {{Taste|R}} durchsucht die Befehlspuffer. Diese standardmäßigen [[Tastenkombination|Tastenkombinationen]] stammen von einem der ersten GNU-Projekte, dem [[Editor (Software)|Texteditor]] [[Emacs]]. Readline unterstützt eine Vielzahl einfacher Funktionen, wie beispielsweise einen sogenannten „{{lang|en|kill ring}}“ (eine flexiblere Variante einer [[Kopieren und Einfügen|Zwischenablage]]) und [[Befehlszeilenergänzung]]. Da es sich um eine [[Plattformunabhängigkeit|plattformübergreifende]] Bibliothek handelt, erlaubt readline-Anwendern das gleiche Zeilenbearbeitungsverhalten auf verschiedenen Betriebssystemen. |
||
| Zeile 53: | Zeile 53: | ||
== Weblinks == |
== Weblinks == |
||
* [https://tiswww.case.edu/php/chet/readline/rltop.html GNU |
* [https://tiswww.case.edu/php/chet/readline/rltop.html GNU Readline Homepage] |
||
* [http://www.astro.caltech.edu/~mcs/tecla/index.html The Tecla command-line editing library] – readline-Ersatz mit einer [[MIT-Lizenz]] |
* [http://www.astro.caltech.edu/~mcs/tecla/index.html The Tecla command-line editing library] – readline-Ersatz mit einer [[MIT-Lizenz]] |
||
* [http://www.thrysoee.dk/editline/ Editline Library (libedit)] – readline-Ersatz mit einer [[BSD-Lizenz]] |
* [http://www.thrysoee.dk/editline/ Editline Library (libedit)] – readline-Ersatz mit einer [[BSD-Lizenz]] |
||
Version vom 19. Januar 2024, 00:10 Uhr
| GNU Readline
| |
|---|---|
| Basisdaten
| |
| Maintainer | Chet Ramey[1] |
| Entwickler | Brian Fox, Chet Ramey |
| Aktuelle Version | 8.3[2] (3. Juli 2025) |
| Aktuelle Vorabversion | 8.3-alpha[3] (22. April 2024) |
| Betriebssystem | plattformübergreifend |
| Programmiersprache | C |
| Lizenz | GNU General Public License |
| The GNU Readline Library | |
GNU Readline ist eine vom GNU-Projekt erstellte und gewartete Programmbibliothek mit Funktionen zum Bearbeiten von Zeilen. Sie steht unter der GPL und wird in Projekten wie zum Beispiel bash genutzt. Ab Version 6.1 unterstützt readline auch Unicode-Zeichen.
Unterstützt ein Programm readline, so bewegt beispielsweise der Druck auf Strg + B den Cursor ein Zeichen zurück, Strg + F bewegt den Cursor ein Zeichen vorwärts und Strg + R durchsucht die Befehlspuffer. Diese standardmäßigen Tastenkombinationen stammen von einem der ersten GNU-Projekte, dem Texteditor Emacs. Readline unterstützt eine Vielzahl einfacher Funktionen, wie beispielsweise einen sogenannten „kill ring“ (eine flexiblere Variante einer Zwischenablage) und Befehlszeilenergänzung. Da es sich um eine plattformübergreifende Bibliothek handelt, erlaubt readline-Anwendern das gleiche Zeilenbearbeitungsverhalten auf verschiedenen Betriebssystemen.
Readline lässt sich mit Hilfe einer Konfigurationsdatei anpassen, die für den Benutzer gilt (~/.inputrc) oder programmspezifisch sein kann. In dieser Datei ist es möglich, eigene Tastenkombinationen zu definieren und diverse andere Einstellungen zu ändern.
Beispiel in C
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <readline/readline.h>
#include <readline/history.h>
int main()
{
char* input, shell_prompt[100];
for(;;) {
// Configure readline to auto-complete paths when the tab key is hit.
rl_bind_key('\t', rl_complete);
// Create prompt string from user name and current working directory.
snprintf(shell_prompt, sizeof(shell_prompt), "%s:%s $ ", getenv("USER"), getcwd(NULL, 1024));
// Display prompt and read input (n.b. input must be freed after use)...
input = readline(shell_prompt);
// Check for EOF.
if (!input)
break;
// Add input to history.
add_history(input);
// Do stuff...
// Free input.
free(input);
}
}
Weblinks
- GNU Readline Homepage
- The Tecla command-line editing library – readline-Ersatz mit einer MIT-Lizenz
- Editline Library (libedit) – readline-Ersatz mit einer BSD-Lizenz
- rlwrap – Tools, welche laufende Programme um readline-Funktionalität erweitern
Einzelnachweise
- ↑ In: Free Software Directory.
- ↑ Chet Ramey: Readline-8.3-release available. 5. Juli 2025 (englisch, abgerufen am 5. Juli 2025).
- ↑ readline.git - The GNU Readline library. (abgerufen am 7. August 2024).