GNU/Linux >> Tutoriels Linux >  >> Linux

Comment spécifier une saisie semi-automatique personnalisée pour des commandes spécifiques ?

Existe-t-il un moyen pour que bash sache exactement ce qu'il faut afficher lorsque vous doublez la tabulation? Par exemple, j'ai un script python scpy qui nécessite quelques arguments. Par exemple comme apt-get , si votre double tabulation vous donne

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

Existe-t-il un moyen de le faire pour vos propres scripts/programmes ? Dois-je encapsuler mon script python dans un script bash ?

Réponse acceptée :

La façon la plus simple de le faire est d'inclure un script shell dans /etc/bash_completion.d/ . La structure de base de ce fichier est une fonction simple qui effectue la complétion puis l'invocation de complete qui est un bash intégré. Plutôt que d'entrer dans les détails sur l'utilisation de complete , je vous suggère de lire An Introduction to Bash Completion. La partie 1 couvre les bases et la partie 2 explique comment écrire un script de complétion.

Une description plus dense de l'achèvement bash peut être trouvée dans la section « Achèvement programmable » de man bash (vous pouvez taper "/Programmable Completion" puis appuyer plusieurs fois sur "n" pour y arriver rapidement. Ou, si vous avez de la chance, "g 2140 RETURN").


Linux
  1. Comment exécuter une commande Linux bash dans un script PERL ?

  2. Comment obtenir l'achèvement de Bash pour les alias de commande ?

  3. Comment configurer Sudo sans mot de passe pour un utilisateur spécifique

  4. Comment désactiver une commande spécifique pour un utilisateur spécifique sous Linux

  5. Comment définir le chemin pour les commandes sudo

Tutoriel de script Bash pour les débutants :qu'est-ce que c'est, comment en écrire un et exemples de script

Comment utiliser les commandes personnalisées dans LibreOffice

Comment exécuter une commande pendant une durée spécifique sous Linux

Comment corriger facilement les commandes Bash mal orthographiées sous Linux

Comment expirer un groupe de commandes dans Bash

Comment puis-je dormir une milliseconde en bash ou en ksh