J'utilise Fedora 25 et j'ai ajouté l'alias suivant à mon profil bash:
alias releasenotes="dnf updateinfo --refresh info `dnf check-update | cut -d '.' -f 1 | xargs` | less"
(Je ne peux pas utiliser directement à dnf updateinfo info
cause de https://bugzilla.redhat.com/show_bug.cgi?id=1405191 )
Mon alias fonctionne, mais l'exécution de la commande prend environ 10 secondes, et puisque bash analyse et valide tous les alias lorsque le profil est généré, la création d'un nouveau shell entraîne un blocage de 10 secondes. C'est énervant.
Existe-t-il un moyen de faire en sorte que bash n'essaye pas d'analyser et de valider les alias - ou simplement celui-là?
la source
bash
interprète votre chaîne entre guillemets, et cette interprétation exécute ladnf check-update
commande intégrée . Cette exécution est ce qui prend du temps lors de la définition de l'alias, pas ladnf updateinfo
commande principale que vous aliasez. Essayez un exemple artificiel basé sursleep
et notez comment celaalias
prend 5 secondes:Utilisez des guillemets simples pour éviter l'interprétation:
N'oubliez pas de remplacer l'
cut
argument par des guillemets doubles.la source