Obtenir des instructions d'achèvement de l'onglet plus utiles dans bash?

Disons que j'ai un directory avec quelques files comme ça:

$ ls file1 file2 file3 

Et je veux faire une fin de tabulation dans bash:

 $ cat file<tab> file1 file2 file3 

Je me souviens avoir vu quelqu'un accomplir l'achèvement de l'onglet et la shell a attelé les parties suivantes, donc dans ce cas, il serait audacieux les 1 , 2 et 3 du nom de file de sorte qu'il ressemble à ceci: file 1 file 2 file 3

qui vous dira ce que vous devriez entrer dans le prochain.

Je pense que c'était une fonctionnalité de zsh , mais y a-t-il un moyen de l'get en bash ?

3 Solutions collect form web for “Obtenir des instructions d'achèvement de l'onglet plus utiles dans bash?”

Je ne connais pas de fonctionnalités directement scopes, mais il existe un moyen de pirater cela en bash . L'achèvement programmable vous permet de spécifier ce que vous souhaitez voir lorsque vous appuyez sur cette touche d'onglet en fonction du programme d'appel, ce qui permet (comme exemple populaire) ssh [onglet] de montrer les options de ~/.ssh/known_hosts automatique de ~/.ssh/known_hosts .

Voici quelques ressources utiles:

Intro, source et RPM

L'user a consortingbué aux "complétions"

Plus d'exemples

Et plus d'exemples

Bien sûr, pour dupliquer les fonctionnalités que vous avez spécifiées ci-dessus, vous devrez baisser et assumr avec l'aspect programmable de l'achèvement et écrire vos propres fonctions. Ubuntu embarque son propre set de complétions apscopes par les users , ce qui constitue un bon sharepoint départ.

Dans les dissortingbutions basées sur Red Hat, il y a un package bash-completion. Ce package remplit le directory /etc/bash_completion.d/ avec un comportement d'achèvement spécifique pour plusieurs programmes. Je l'utilise sous Fedora, Red Hat et CentOS.

 yum install bash-completion 

J'utilise tcsh raison d'une caractéristique similaire.

Voici mon file /etc/csh.cshrc:

 if ($?tcsh && $?prompt) then bindkey "\e[1~" beginning-of-line # Home bindkey "\e[7~" beginning-of-line # Home rxvt bindkey "\e[2~" overwrite-mode # Ins bindkey "\e[3~" delete-char # Delete bindkey "\e[4~" end-of-line # End bindkey "\e[8~" end-of-line # End rxvt bindkey -k up history-search-backward bindkey -k down history-search-forward set filec set prompt="[%B%m%b:%~] %n%# " set complete = enhance # important line set autolist # important line too alias ls 'ls -hA --color' alias ll 'ls -l' endif 
  • Comment verrouiller l'user dans un programme de script shell?
  • Exécutez le script en tant qu'utilisateur qui a un nologin shell
  • Devons-nous abandonner le script shell (bash) et utiliser Python autant que possible
  • Linux: Quelle pourrait être la raison pour laquelle le hasard échoue lors de la mise à jour de passwd.byuid en exécutant yppasswd?
  • Bash: échec d'erreur lors d'une section, puis exécutez une autre section indépendamment?
  • makefile shell pattern expansion: comment?
  • Voir quel directory prend de l'espace sans considérer d'autres points de assembly
  • La command bash shell fonctionne bien à l'invite de command, mais pas dans mon script .sh?
  • Le script Python se bloque lorsqu'il s'exécute via Cron
  • Échapper des personnages spéciaux à Cron
  • erreur de script bash
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.