So fügen Sie der Benutzereingabe vor der Befehlsausführung automatisch Zeichen hinzu

0

Ich lese sehr gerne auf dem Terminal - es konzentriert meine Aufmerksamkeit und lässt mich doppelt so viel lesen, wie ich in Browsern usw. gelesen habe.

Ich habe ein Skript mit Alias ​​für bash.bashrc geschrieben, das das Arbeitsverzeichnis in das Verzeichnis ändert, in dem ich HTML-Dateien speichere, und 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 hinzufügen 'lynx ' nach der aufforderung konnte ich also einfach den dateinamen eingeben und in lynx lesen.

Ich habe an folgende Präsentation gedacht:

A twilit bookself, somewhere

.        kinglear.html
..       invisiblecities.html

admin@lib:/$ lynx [filename here]

Wie kann ich nach der Eingabeaufforderung "lynx" hinzufügen?

Vielen Dank!

ExceptionInTheRye
quelle
Eigentlich keine Antwort auf Ihre Frage, aber einfachere Lösung, - installieren mc, führe es aus und cd in Ihr Buchverzeichnis und fügen Sie es hinzu hotlist (Strg \ A). Von nun an kannst du "Ctrl \" drücken, während du in bist mc, wählen Sie das gespeicherte Verzeichnis, zu dem Sie springen möchten, und wählen Sie html Datei, die Sie lesen und drücken möchten F3Es wird zu Mittag essen lynx für dich automatisch.
Alex

Antworten:

0

Ich mache nur eine schrittweise Anleitung für ein schnelles Bash-Skript, das ich erstellt habe.

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

Füge folgendes Skript mit Strg + Shift + 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 verlassen Sie das Menü 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 vervollständigen" bearbeitet Dateien im Ordner. Sie müssen lynx, xdg-open oder was auch immer manuell eingeben, nachdem Sie die zu öffnende Datei ausgewählt haben. Ich bin müde und denke, der letzte Teil (Tab-Vervollständigung des auszuführenden Programms) kann Ihnen als Übung überlassen werden, bis ich mehr Zeit zur Verfügung habe. (Hoffentlich lernst du es, indem du dir anschaust, was ich hier jetzt für dich getan habe :) Ich bin daran interessiert, Ihnen bei der Lösung des Problems zu helfen, aber es kann eine Woche oder länger dauern, bis ich Zeit habe, es mir noch einmal anzuschauen.

Bitte akzeptieren Sie als Antwort, wenn es für Sie gut genug ist.
Das wird mich zumindest motivieren, Ihnen zu helfen, Ihr letztes Problem mit der Tab-Vervollständigung der Programmnamen anzugehen.

Referenz: Kann ich die automatische Vervollständigung von Registerkarten in einem Bash-Skript implementieren?

anders
quelle
Vielen Dank für Ihre ausführliche Anleitung! Ich wollte die Eingabeaufforderung verfügbar halten, damit ich, wenn ich ein anderes Programm zum Lesen einer bestimmten Datei (z. B. eine PDF-Datei) wählen würde, den automatisch hinzugefügten "Luchs" aus der Eingabeaufforderung löschen und den Befehl für einen anderen schreiben könnte Programm. Auf diese Weise könnte ich auch TAB drücken, um lange Dateinamen automatisch zu vervollständigen.
ExceptionInTheRye
Derzeit beschäftigt, wird später heute antworten
anders
Bitte erkläre es mir besser, ich habe ein wenig Probleme zu verstehen, was du meinst
anders
Ich meine, der Benutzer sollte die Dateiliste des Verzeichnisses sehen und in der Eingabeaufforderung bereits 'lynx' für sie geschrieben haben. Es wird ihre Entscheidung sein, nur einen beliebigen im Verzeichnis vorhandenen Dateinamen zu schreiben, um ihn per Luchs anzuzeigen - oder den Zusatz 'lynx' zu löschen und zum Beispiel den Befehl 'vim kinglear.html' zu schreiben, um das tatsächliche HTML-Skript zu überprüfen. Vielen Dank.
ExceptionInTheRye
Nun, ich sehe nicht die Notwendigkeit, Luchs standardmäßig ausgefüllt zu haben. Wenn Benutzer andere Programme zum Öffnen von Dateien verwenden, ist es schwieriger, lynx zu löschen, wenn sie vim, xdg-open usw. verwenden. Wird das aktualisierte Skript so schnell wie möglich veröffentlichen
anders