GNU/Linux >> Linux Esercitazione >  >> Linux

Come specificare un completamento automatico personalizzato per comandi specifici?

C'è un modo per far sapere a bash esattamente cosa visualizzare quando si esegue la doppia scheda? Ad esempio ho uno script python scpy che richiede un paio di argomenti. Ad esempio come apt-get , se la doppia scheda ti dà

autoclean        build-dep        clean            dselect-upgrade  purge            source           upgrade
autoremove       check            dist-upgrade     install          remove           update  

C'è un modo per farlo per i tuoi script/programmi? Devo racchiudere il mio script Python in uno script bash?

Risposta accettata:

Il modo più semplice per farlo è includere uno script di shell in /etc/bash_completion.d/ . La struttura di base di questo file è una semplice funzione che esegue il completamento e quindi l'invocazione di complete che è un bash integrato. Piuttosto che entrare nei dettagli su come usare complete , ti suggerisco di leggere An Introduction to Bash Completion. La Parte 1 copre le nozioni di base e la Parte 2 spiega come scriveresti uno script di completamento.

Una descrizione più dettagliata del completamento di bash può essere trovata nella sezione "Completamento programmabile" di man bash (puoi digitare "/Completamento programmabile" e quindi premere 'n' alcune volte per arrivarci rapidamente. Oppure, se sei fortunato, "g 2140 RETURN").


Linux
  1. Come eseguire un comando bash Linux in uno script PERL?

  2. Completamento automatico Zsh dinamico per comandi personalizzati?

  3. In Linux, come ottengo le pagine man per le funzioni C anziché per i comandi bash?

  4. Come grep per unicode � in uno script bash

  5. Come dormo per un millisecondo in bash o ksh

Bash Scripting Tutorial per principianti:cos'è, come scriverne uno ed esempi di script

Come usare i comandi personalizzati in LibreOffice

Come eseguire un comando per un tempo specifico in Linux

Come correggere facilmente i comandi Bash errati in Linux

Come impostare il percorso per i comandi sudo

Come creare comandi personalizzati in Unix/Linux?