Pages Menu
TwitterRss
Categories Menu

Posted on 3 Oct, 2010 in Commandes, Linux |

Variables spéciales de BASH

Par Jean-Baptiste Hétier sur Think-Underground.com

Bash

Voici quelques astuces vous permettant d’aller plus vite en tapant dans la console.

  • Lorsque vous appuyez sur la touche tabulation de votre clavier alors que vous êtes en train de taper un nom de fichier ou de commande, bash le complétera (auto-complétion).
  • Lorsque vous appuyez sur la touche haut, vous remontez dans l’historique des dernières commandes que vous avez tapées.
  • bash interprète le symbole !! comme la dernière commande (arguments compris) ayant été exécutée. C’est TRÈS pratique, surtout lorsque vous avez oublié sudo devant une commande qui le requiert ! Exemple :
    • $ apt-get install eclipse
    • Réponse : E: Impossible d'ouvrir le fichier verrou /var/lib/apt/lists/lock - open (13 Permission non accordée) E: Impossible de verrouiller le répertoire de liste
    • $ sudo !!
  • bash interprète les symboles !^ et !$ comme respectivement le premier et le dernier argument de la commande précédente. En pratique je trouve que !$ est le plus souvent utilisé. Exemple :
    • $ mkdir toto
    • $ cd !^ ou $ cd !$
  • Plus généralement vous pouvez préciser à bash quel argument utiliser avec !:2 par exemple, mais j’avoue ne jamais utiliser ça…
  • bash vous simplifie aussi la vie avec { et } qui vous permettent d’éviter de recopier certaines parties de la ligne de commande.
    • Comparez : $ cp documents/programmes/HelloWorld.java documents/programmes/HelloWorld.java.backup
    • avec : $ cp documents/programmes/{HelloWorld.java,HelloWorld.java.backup}
    • ou même : $ cp documents/programmes/HelloWorld.java{,.backup}

Un petit détail très pratique. Par défaut lorsque vous tapez un des symboles ci-dessus, bash effectue direcement la commande lorsque vous tapez entréePourquoi pas demander à bash une petite confirmation ? Ouvrez votre fichier .bashrc dans votre home et ajoutez : shopt -s histverify à la toute fin de ce ficher. Évitez ainsi les grosses erreurs en vérifiant ce que bash va faire !