GNU/Linux >> Znalost Linux >  >> Linux

Jak určit vlastní automatické doplňování pro konkrétní příkazy?

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


Linux
  1. Jak vymazat konkrétní příkaz z historie Bash v Linuxu

  2. Jak spustit příkazy bash Linuxu ve skriptu PERL?

  3. Dynamické automatické doplňování Zsh pro vlastní příkazy?

  1. Jak změnit Cron Shell (sh to Bash)?

  2. Jak zakázat alias v Bash pro jeden příkaz?

  3. Jak nastavit Sudo bez hesla pro konkrétního uživatele

  1. Jak zakázat konkrétní příkaz pro konkrétního uživatele v Linuxu

  2. Jak v Linuxu získám manuálové stránky pro funkce C místo pro příkazy bash?

  3. Jak nastavit cestu pro příkazy sudo