User Tools

Site Tools


informatique:linux:bash

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
informatique:linux:bash [2015/08/10 15:00] – [Variables d'environnement] pteuinformatique:linux:bash [2016/10/14 21:50] – [Historique des commandes] création pteu
Line 70: Line 70:
  
 Pour débugger un script, ajouter dans le script : Pour débugger un script, ajouter dans le script :
-  * ''set -x'' à partir de l'endroit où l'on veut tracer le script à l'exécution+  * ''set -x'' à partir de l'endroit où l'on veut tracer le script
   * ''set +x'' à partir de l'endroit où l'on veut cesser de tracer le script    * ''set +x'' à partir de l'endroit où l'on veut cesser de tracer le script 
  
-Autre méthode : lancer le script dans nouveau Shell avec : ''sh -x script''+Autre méthode : lancer le script dans nouveau shell avec : ''sh -x script''
  
-Encore une autre méthode : àa la première ligne du script, rajouter "-v" au **shebang**, par exemple :+Encore une autre méthode : à la première ligne du script, rajouter "-v" au **shebang**, par exemple :
 <code> <code>
 #!/bin/sh -v #!/bin/sh -v
Line 216: Line 216:
 } }
 </code> </code>
 +
 +====Historique des commandes====
 +
 +La commande ''history'' permet d'afficher la liste des dernières commandes exécutées dans le terminal. Pour ajouter un timestamp (horodatage) on peut jouer sur les variables suivantes (à ajouter dans votre ''~/.bashrc'' ou à exporter) :
 +<code bash>
 +# ajouter l'horodatage
 +HISTTIMEFORMAT="%Y/%m/%d_%H:%M:%S "
 +# détermine le nombre de commandes max enregistrées
 +HISTSIZE=20000
 +# pour supprimer les doublons
 +HISTCONTROL=ignoredups
 +</code>
 +
 +Pour réafficher la dernière commande, on peut juste appuyer sur la touche de rappel de la dernière commande ("flèche haut") ; en appuyant une seconde fois on a l'avant-dernière, etc... OU sinon utiliser la commande ''!'' :
 +<code bash>
 +# relancer la dernière commande
 +!!
 +# relancer de la dernière commande commençant par "cd"
 +!cd
 +# relancer la 10ème commande de l'historique
 +!10
 +# relancer l'anvat-dernière commande
 +!-2
 +# relancer la dernière commande contenant la chaîne "home"
 +!?home
 +# relancer la dernière commande en remplaçant "toto" par "tata"
 +^toto^tata^
 +</code>
 +
 +Il existe un outil pour faire des recherches en "temps réel" dans l'historique ; pour l'invoquer on utilise ''Ctrl+R''. Le prompt est renommé en ''(reverse-i-search)`': '' et on peut saisir une chaîne de caractères ; l'outil va automatiquement rappeler la dernière commande saisie matchant cette chaîne.
informatique/linux/bash.txt · Last modified: 2023/01/09 10:52 by pteu