Preskoči na vsebino

Bližnjica CLI PMIVerse in dopolnjevanje Bash

Zmožnosti

  • Prijazni ukazi v PATH: restore-db → /srv/pmiverse/_pmiconfig/scripts/restore/restore_database.sh.
  • Dopolnjevanje Tab za izvedljive ukaze v scripts/: varnostno kopiranje, sinhronizacijo prenosnika, obnovo, migracijo, posodabljanje repozitorijev, zbiranje zahtev, prevode, testiranje, oblikovanje in integracijo. Podpira možnosti, tudi -h in --help, ter ustrezne poti, vzdevke, baze in fiksne izbire.
  • Obnova predlaga vzdevke, dokler položajni cilj, --target ali --db ne izbere baze, nato predlaga možnosti. Vrednosti možnosti ohranijo lastne predloge vzdevkov, baz, poti ali fiksnih izbir.
  • Registrirani so osnovna imena, ./basename iz mape skripte, absolutne poti, scripts/... in ./scripts/....
  • Vsak izvedljivi ukaz sprejme -h in --help pred operativnim delom. Ukazi brez operativnih možnosti zdaj zavrnejo neznane argumente. Rezervirani preverjevalnik politike pojasni neizvedeno stanje in pri preverjanju vrne napako.

Vključene knjižnice .bash in migrate/fix_product_document_18.sql niso vstopne točke CLI. Za dopolnjevanje ukaze kličite neposredno; python3 script.py uporablja pravila dopolnjevanja interpreterja.

Datoteke

  • Dopolnjevanje: /srv/pmiverse/_pmiconfig/scripts/completion/pmiverse-completion.bash.
  • Dopolnjevanje posameznih baz: /srv/pmiverse/_pmiregistry/scripts/completion/pmiverse-completion.bash. Skupno dopolnjevanje samodejno naloži to izbirno razširitev; PMIREGISTRY_DIR izbere drug repozitorij registra.
  • Namestilnik: /srv/pmiverse/_pmiconfig/scripts/integration/install_cli_shortcuts.sh.

Hitra uporabniška namestitev

/srv/pmiverse/_pmiconfig/scripts/integration/install_cli_shortcuts.sh --user
  • Simbolna povezava se ustvari v ~/.local/bin.
  • ~/.bashrc doda ~/.local/bin v PATH samo, če manjka; ponovitve ne dodajajo podvojitev.
  • Dopolnjevanje se namesti v ~/.bash_completion.d/pmiverse-completion.bash.
  • ~/.bashrc naloži to datoteko tudi ob že nastavljenem splošnem bash-completion.
  • Za aktivacijo odprite nov terminal ali izvedite source ~/.bashrc.

Sistemska namestitev (zahteva sudo)

sudo /srv/pmiverse/_pmiconfig/scripts/integration/install_cli_shortcuts.sh --system
  • Simbolna povezava je v /usr/local/bin.
  • Dopolnjevanje je v /etc/bash_completion.d/pmiverse-completion.bash.
  • Nove lupine ga naložijo samodejno, če je bash-completion omogočen.

Odvisnosti

Bash z nameščenim paketom bash-completion, običajnim v večini distribucij. Skripta uporablja njegovo _init_completion.

Primer

Obnova po vzdevku z dopolnjevanjem za demo in možnosti:

restore-db demo --ne<TAB>

Opombe

  • Namestilnik je idempotenten in ga lahko ponovno zaženete.
  • Vzdevki in imena baz prihajajo iz /srv/pmiverse/_pmiregistry/config/pmiverse.conf.
  • Trenutne definicije v obstoječi lupini aktivirate s source /srv/pmiverse/_pmiconfig/scripts/completion/pmiverse-completion.bash; prej naložite bash-completion. Za osvežitev nameščene kopije izrecno ponovno zaženite namestilnik; urejanje vira je ne namesti.
  • Ponovno nalaganje izrecno osveži registracije ./basename, na primer ./create_database.py. Starejši obravnavalnik za točno to obliko ima sicer prednost pred rezervnim osnovnim imenom. Po ponovnem nalaganju mora complete -p ./create_database.py navesti _pmiverse_create_database_complete. Vnesite ./create_database.py -- in pritisnite Tab brez presledka za vezajema.
  • tests/test_script_cli.py preverja inventar ukazov, varnost pomoči, možnosti, predloge vrednosti, registracije poti in uporabniško namestitev. Preizkusi pomoči tečejo z gostiteljskimi datotekami samo za branje, skrito konfiguracijo, izoliranim omrežjem in dovoljenim seznamom neškodljivih programov prek Bubblewrap.