Ich verwende Fedora 25 und habe meinem Bash-Profil den folgenden Alias hinzugefügt:
alias releasenotes="dnf updateinfo --refresh info `dnf check-update | cut -d '.' -f 1 | xargs` | less"
(Ich kann Straight-Up dnf updateinfo info
wegen https://bugzilla.redhat.com/show_bug.cgi?id=1405191 nicht verwenden. )
Mein Alias funktioniert, aber die Ausführung des Befehls dauert ungefähr 10 Sekunden. Da bash alle Aliase analysiert und überprüft, wenn das Profil bezogen wird, führt das Erstellen einer neuen Shell zu einem 10-Sekunden-Hang. Das ist nervig.
Gibt es eine Möglichkeit, Bash dazu zu bringen, Aliase nicht zu analysieren und zu validieren - oder nur diese?
quelle
bash
interpretiert Ihre Zeichenfolge in Anführungszeichen und diese Interpretation führt den eingebettetendnf check-update
Befehl aus. Diese Ausführung nimmt während der Aliasdefinition Zeit in Anspruch, nicht der Hauptbefehl, dendnf updateinfo
Sie als Aliasing ausführen . Probieren Sie ein erfundenes Beispiel aussleep
und beachten Sie, wie dasalias
selbst 5 Sekunden dauert:Verwenden Sie einfache Anführungszeichen, um die Interpretation zu vermeiden:
Vergessen Sie nicht, das
cut
Argument in doppelte Anführungszeichen zu setzen.quelle