Bash autocomplete in ssh session

9

Il semble que bash ne veuille pas compléter automatiquement les commandes (ce qui me dérange en ce moment n'est pas la saisie automatique d'apt-get) lorsque je suis connecté à ma machine depuis SSH. Y a-t-il un paramètre qui permettra à bash de se compléter automatiquement dans une session ssh?

Falmarri
la source

Réponses:

7

En bref: source /etc/bash_completiondevrait faire l'affaire (exécutez-le dans le shell dans la session SSH).

Longue histoire: pour que l'achèvement de bash fonctionne, vous devez dire bashcomment compléter les arguments de chaque commande. Cela nécessite une longue séquence d'appels de la bashcommande intégrée complete; par conséquent, ils sont généralement collectés dans un script distinct (ou plusieurs dans /etc/bash.complete.d/*) qui les charge tous.

Être un script shell régulier, vous pouvez toujours charger le bash_completiondans un shell script de démarrage ( ~/.bash_profile, ~/.bash_login, ~/.bashrc)

Lectures complémentaires:

  • section Achèvement programmable dans la page de manuelbash(1)
  • texte d'aide pour la completecommande (run: help completein bash)
Riccardo Murri
la source
Génial, ça marche. Pouvez-vous expliquer pourquoi vous devez faire cela? Qu'en est-il d'une session SSH, bash n'aime pas la saisie semi-automatique. Existe-t-il un moyen de faire en sorte que cela se fasse pour chaque session ssh? Au moins pour un utilisateur particulier (moi)?
Falmarri
@Falmarri a mis à jour la réponse avec plus d'informations; cela répond-il à vos autres questions?
Riccardo Murri
Ah ça a du sens, ouais
Falmarri