Existuje způsob, jak zajistit, aby bash přesně věděl, co má zobrazit, když použijete dvojitou kartu? Například mám python skript scpy což vyžaduje pár argumentů. Například jako apt-get , pokud vám dvojitá karta poskytne
autoclean build-dep clean dselect-upgrade purge source upgrade autoremove check dist-upgrade install remove update
Existuje způsob, jak to udělat pro vaše vlastní skripty/programy? Musím svůj python skript zabalit do bash skriptu?
Přijatá odpověď:
Nejjednodušší způsob, jak toho dosáhnout, je zahrnout skript shellu do /etc/bash_completion.d/ . Základní struktura tohoto souboru je jednoduchá funkce, která provádí dokončení a následné vyvolání complete což je vestavěný bash. Spíše než zacházet do podrobností o tom, jak používat complete Doporučuji, abyste si přečetli Úvod do dokončování bashů. Část 1 pokrývá základy a část 2 se zabývá tím, jak byste postupovali při psaní dokončovacího skriptu.
Podrobnější popis dokončování bash lze nalézt v sekci „Programmable Completion“ v man bash (můžete napsat „/Programmable Completion“ a poté několikrát stisknout „n“, abyste se tam dostali rychle. Nebo, pokud máte štěstí, „g 2140 RETURN“).