Wie werden der Benutzereingabe vor der Befehlsausführung automatisch Zeichen hinzugefügt?

333
ExceptionInTheRye

Ich liebe es, am Terminal zu lesen - es fokussiert meine Aufmerksamkeit und ermöglicht es mir, doppelt so viel zu lesen, wie ich es in Browsern usw. gelesen habe.

Ich habe ein Skript mit einem Alias ​​für bash.bashrc geschrieben, das das Arbeitsverzeichnis in das Verzeichnis ändert, in dem ich HTML-Dateien speichere, und außerdem den Inhalt dieses Verzeichnisses anzeigt:

alias la='ls -a'  alias books=' printf "\nA twilit bookshelf, somewhere\n\n" cd data/data/com.termux/files/home/documents/books && la printf "\n"' 

Und zum Schluss möchte ich noch 'lynx 'nach der Eingabeaufforderung hinzufügen, damit ich einfach den Dateinamen eingeben und in lynx lesen kann.

Ich dachte an folgende Präsentation:

A twilit bookself, somewhere  . kinglear.html .. invisiblecities.html  admin@lib:/$ lynx [filename here] 

Wie kann ich nach der Aufforderung "Luchs" hinzufügen?

Vielen Dank!

0
Nicht wirklich eine Antwort auf Ihre Frage, aber eine einfachere Lösung - Installieren Sie `mc`, führen Sie es und` cd` in Ihr Buchverzeichnis ein und fügen Sie es zu `hotlist` (Strg + \ A) hinzu. Von nun an können Sie "Strg + \" drücken, während Sie sich in "mc" befinden. Wählen Sie das gespeicherte Verzeichnis aus, das Sie springen möchten, wählen Sie "html" -Datei aus, die Sie lesen möchten, und drücken Sie "F3". Es wird automatisch "lynx" für Sie eingenommen. Alex vor 5 Jahren 0

1 Antwort auf die Frage

0
anders

Ich mache einfach eine Schritt für Schritt Anleitung für ein kurzes Bash-Skript, das ich gemacht habe.

cd ~/.local/bin cat > searchlynx (or use nano,vi,gedit or whatever you prefer) 

Fügen Sie das folgende Skript mit Strg + Umschalttaste + v ein

#!/bin/bash printf "\nA twilit bookshelf, somewhere\n\n" cd /home/a/Downloads && ls -a printf '\n' echo 'Input filename:' read -e FileName FileFindTest="$(find ~/Downloads/"$FileName")" ## quoted echo "$FileFindTest" echo 'Open with what program?' read command $command $FileName 

Drücken Sie dann die Eingabetaste und beenden Sie mit Strg + c. Sie müssen dann die Berechtigungen für die Datei ändern.

chmod u+x searchlynx 

Verwendungszweck:

searchlynx 

Das Verzeichnis wird aufgelistet, die Registerkarte "Automatisch ausfüllen" funktioniert für Dateien im Ordner. Nach der Auswahl der zu öffnenden Datei müssen Sie lynx, xdg-open oder was auch immer manuell eingeben. Ich bin müde, und ich denke, der letzte Teil (Registerkarte Abschluss des Programms) kann Ihnen als Übung überlassen werden, bis ich mehr Zeit zur Verfügung habe. (hoffentlich lernst du, wie ich das mache, indem ich mir anschaue, was ich hier für dich getan habe :) Ich bin daran interessiert, dir bei der Lösung des Problems zu helfen, aber es kann eine Woche oder länger dauern, bis ich Zeit habe, es noch einmal anzusehen.

Bitte akzeptieren Sie es als Antwort, wenn es Ihnen gut genug ist.
Das wird mich zumindest motivieren, Ihnen bei der Lösung des letzten Problems mit der Tab-Vervollständigung der Programmnamen zu helfen.

Referenz: Kann ich die automatische Autovervollständigung in einem Bash-Skript implementieren?

Vielen Dank für Ihre ausführliche Anleitung! Ich hatte das Ziel, die Eingabeaufforderung verfügbar zu halten, sodass ich, wenn ich ein anderes Programm zum Lesen einer bestimmten Datei (z. B. .pdf-Datei) wählen würde, den automatisch hinzugefügten 'Luchs' von der Eingabeaufforderung löschen und den Befehl für eine andere schreiben kann Programm. Auf diese Weise könnte ich auch TAB drücken, um lange Dateinamen automatisch zu vervollständigen. ExceptionInTheRye vor 5 Jahren 0
Beschäftigt gerade, wird heute später antworten anders vor 5 Jahren 0
Erklären Sie es bitte besser, ich habe ein wenig Schwierigkeiten zu verstehen, was Sie meinen anders vor 5 Jahren 0
Ich meine damit, dass der Benutzer die Dateiliste des Verzeichnisses sehen und 'lynx' bereits in der Eingabeaufforderung für sie schreiben muss. Es wird ihre Entscheidung sein, einen beliebigen Dateinamen in das Verzeichnis zu schreiben, um ihn über lynx anzuzeigen - oder den Zusatz 'lynx' zu löschen und beispielsweise den Befehl 'vim kinglear.html' zu schreiben, um das eigentliche HTML-Skript zu untersuchen. Vielen Dank. ExceptionInTheRye vor 5 Jahren 0
Nun, ich sehe nicht die Notwendigkeit, dass Luchs standardmäßig ausgefüllt wird. Wenn Leute andere Programme verwenden, um Dateien zu öffnen, ist es umständlicher, Luchs zu löschen, wenn sie vim, xdg-open usw. verwenden anders vor 5 Jahren 0
Bitte akzeptieren Sie die Antwort, ich komme zurück und helfe Ihnen mit dem Tab Autovervollständigung von Luchs, xdg-open usw. WENN Sie dies tun. Es ist kein gutes Gefühl zu helfen, wenn Leute nicht wollen, dass Leute ihre Freizeit verschenken. anders vor 5 Jahren 0
Hallo! Entschuldigung für die Verspätung, wie ist es für dich gelaufen? Benötigen Sie weitere Hilfe? anders vor 5 Jahren 0