Quelques mots sur Tab
Tabest idéal pour compléter une commande écrite partielle (ou une option) parmi celles disponibles comme vient de le souligner Terdon dans une autre réponse .
Pour terminer une commande suffit d' appuyerTab une fois. Pour avoir la liste complète, appuyez àTab nouveau sur.
De plus, vous pouvez personnaliser le comportement deTab . Essayez par exemple ces 2 lignes:
bind "TAB:menu-complete"
bind "set show-all-if-ambiguous on"
Le premier Tabvous montre toutes les possibilités et complète automatiquement la commande avec la première disponible, à partir de la deuxième fois que vous appuyez Tab dessus, elle commencera à faire défiler les options .
Remarques:
Vous pouvez écrire vos propres scripts de complétion bash , avec des options de règles ...
Il y a plus que quelques conseils dans l'article Une introduction à la complétion bash : la 1ère partie est pour les bases et la seconde pour écrire votre propre script.
Vous pouvez trouver intéressant bind
complete
et les références ci-dessous.
2e réponse: Chemins et raccourcis absolus
Il n'est pas toujours obligatoire d'écrire le chemin absolu (complet) dans chaque commande même si c'est une bonne pratique lorsque vous écrivez un script et que vous voulez éviter le risque d'exploiter comme chevaux de Troie .
Il y a quelques raccourcis pour aller plus vite, par exemple, Tab, , , et une toutes les variables définies dans le shell courant. Alt+..~
Ci-dessous quelques exemples ( .signifie ici et ~signifie maison ):
Pour copier un fichier dans le répertoire courant suffit d'écrire
Pour copier de votre répertoire un fichier dans le répertoire actuel vous pouvez écrire
Pour copier un fichier du répertoire courant dans le dernier écrit le dernier argument de la dernière commande stockée dans l'historique . Si vous appuyez à nouveau, il remplacera celui qui vient d'être trouvé par celui de la position précédente dans l'historique de bash. Avec un exemple c'est plus simple:cp /my/far/far/away/myfile .
home
cp ~/myfile .
cp myfile $OLDPWD
Alt+.
mkdir OldDir
mkdir NewDir
cd # here press `Alt + .` and it will autocomplete with NewDir
# press `Alt + .` again and you will see "cd OldDir"
Références:
- Une introduction à l'achèvement de bash : partie 1 et partie 2
help bind
, oui aide car bind
c'est une commande intégrée
help complete
et complete -p | less
d'avoir une liste dans un format confortable.
help pushd
et help popd
pour pousser et pop un répertoire de la pile.
- Builtins d'achèvement programmables