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“).