Ich möchte einen einfachen Befehl dmenu machen, der eine Datei mit Befehlen und Namen liest. Nimmt dann die Namen und zeigt sie mit dem dmenu an, nimmt dann die Ausgabe von dmenu und führt den zugehörigen Befehl unter Verwendung der Datei erneut aus.Verweise auf stdout in einem Befehl, der an
Ich kam zu dem Punkt, wo Dmenu die Namen anzeigt, aber ich weiß nicht wirklich, wo ich von dort aus gehen soll. Lern-Bash ist eine wirklich schwierige Aufgabe für mich und ich weiß nicht wirklich, wo ich mit diesem scheinbar einfachen Skript/Befehl anfangen soll.
hier ist die Datei:
Pushbullet
google-chrome-stable --app=https://www.pushbullet.com
Steam
steam
Chrome
google-chrome-stable
Libre Office
libreoffice
Transmission
transmission-qt
Audio Control Panel
sudo pavucontrol & bluberry
und hier ist das, was ich bisher für meinen Befehl habe:
awk 'NR % 2 != 0' /home/rocco/programlist | dmenu | ??(grep -l "stdout" /home/rocco/programlist....)
Es war mein Denken, dass ich irgendwie Rohr in grep oder awk mit der Name der Anwendung dann erhalten Sie die Zeilennummer dann fügen Sie eins und pipe das in sh.
Dank
Wenn Sie Bash 4 ausführen, können Sie [Assoziative Arrays] (http://mywiki.wooledge.org/BashGuide/Arrays#Associative_Arrays) verwenden, um den Namen des Befehls als Schlüssel und den Befehl selbst als zu speichern der Wert. Trotzdem empfehle ich Ihnen, [Bash FAQ 50 (Ich versuche, einen Befehl in eine Variable zu setzen, aber die komplexen Fälle scheitern immer!)] (Http://mywiki.wooledge.org/BashFAQ/050) und entscheiden was ist der beste Ansatz für Ihr Szenario. –