72 votes

Caractéristiques cachées de Bash

Les scripts Shell sont souvent utilisés comme de la colle, de l'automatisation et simple des tâches. Quels sont certains de vos favoris "caché" fonctionnalités du shell Bash/langage de script?

  • Une fonctionnalité pour répondre
  • Donner un exemple et une courte description de la fonction, et pas juste un lien vers la documentation
  • L'étiquette de la fonctionnalité à l'aide titre en gras sur la première ligne

Voir aussi:

69voto

chillitom Points 5731

insérer le dernier paramètre de la ligne précédente

alt - . La combinaison de touches la plus utile de tous les temps, essayez-la et voyez, pour une raison quelconque, personne ne la connaît.

appuyez encore et encore pour sélectionner les derniers paramètres les plus anciens.

super quand vous voulez faire autre chose que quelque chose que vous avez utilisé il y a un instant.

40voto

Alex Reynolds Points 45039

Si vous voulez garder un processus en cours d'exécution après que vous vous connectez:

disown -h <pid>

est une utile intégrée à bash. Contrairement aux nohup, vous pouvez exécuter disown sur un processus en cours d'exécution.

Tout d'abord, arrêtez votre travail avec ctrl-Z, obtenir le pid d' ps (ou utilisez echo $!), utilisez bg pour l'envoyer à l'arrière-plan, puis utilisez disown avec le h-drapeau.

N'oubliez pas d'arrière-plan de votre travail ou il sera tué, lorsque vous vous déconnectez.

38voto

Vinko Vrsalovic Points 116138

Presque tout ce qui est mentionné dans la section EXPANSION du manuel

En particulier, expansion des paramètres:

 $ I=foobar
$ echo ${I/oo/aa} #replacement
faabar
$ echo ${I:1:2}   #substring
oo
$ echo ${I%bar}   #trailing substitution
foo
$ echo ${I#foo}   #leading substitution
bar
 

35voto

GloryFish Points 3388

Mon préféré:

 sudo !!
 

Relancez la commande précédente avec sudo.

27voto

Adam Liss Points 27815

Plus de magie combinaisons de touches:

  • Ctrl + r commence un “inverse de recherche incrémentale” par le biais de votre historique des commandes. Comme vous continuez à taper, il récupère la commande la plus récente qui contient tout le texte que vous saisissez.

  • Onglet complète le mot que vous avez tapé la mesure si elle est sans ambiguïté.

  • Onglet Onglet répertorie tous les complétions pour le mot que vous avez tapé jusqu'à présent.

  • Alt + * insère toutes les complétions possibles, ce qui est particulièrement utile, par exemple, vous venez d'entrer sur un potentiellement destructeur de commande avec des caractères génériques:

    rm -r source/d*.c Alt + *
    rm -r source/delete_me.c source/do_not_delete_me.c

  • Ctrl + Alt + e effectue alias, de l'histoire, et de l'expansion, sur la ligne actuelle. En d'autres termes, la ligne actuelle est réaffiché comme il sera traité par le shell:

    ls $HOME/tmp Ctrl Alt + e
    ls -N --color=tty -T 0 /home/cramey

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X