Saya menggunakan Fedora 25, dan telah menambahkan alias berikut ke profil bash saya:
alias releasenotes="dnf updateinfo --refresh info `dnf check-update | cut -d '.' -f 1 | xargs` | less"
(Saya tidak dapat menggunakan straight-up dnf updateinfo info
karena https://bugzilla.redhat.com/show_bug.cgi?id=1405191 )
Alias saya berfungsi, tetapi perintah tersebut membutuhkan waktu sekitar 10 detik untuk dijalankan, dan karena bash mem-parsing dan memvalidasi semua alias ketika profil bersumber, membuat shell baru menghasilkan hang 10 detik. Ini menyebalkan.
Apakah ada cara untuk membuat bash tidak mencoba mengurai dan memvalidasi alias - atau hanya itu?
sumber
bash
menafsirkan string yang Anda kutip, dan interpretasi itu menjalankandnf check-update
perintah yang disematkan . Eksekusi ini yang memakan waktu selama definisi alias, bukandnf updateinfo
perintah utama yang Anda aliasing. Coba contoh yang dibuat berdasarkansleep
dan perhatikan bagaimanaalias
itu sendiri membutuhkan waktu 5 detik:Gunakan tanda kutip tunggal untuk menghindari interpretasi:
Jangan lupa untuk menukar
cut
argumen menjadi tanda kutip ganda.sumber