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 revisionBoth sides next revision
informatique:linux:bash [2022/01/02 17:38] – [Liens/Ressources] pteuinformatique:linux:bash [2022/06/08 13:50] pteu
Line 104: Line 104:
 Rappel : ''command'' permet de lancer la commande qui suit ("grep" ici) parmi les commandes internes et le contenu du $PATH uniquement, afin que notre fonction ne devienne pas récursive ! Rappel : ''command'' permet de lancer la commande qui suit ("grep" ici) parmi les commandes internes et le contenu du $PATH uniquement, afin que notre fonction ne devienne pas récursive !
  
-=====Debugger un script===== +====-x====
- +
-Pour vérifier la syntaxe d'un script sans lancer : ''set -n'' (ou ''bash -n mon_script.sh'')+
  
 Pour le débugger un script, ajouter dans le script : Pour le débugger un script, ajouter dans le script :
Line 117: Line 115:
 #!/bin/sh -v #!/bin/sh -v
 </code> </code>
 +
 +====-n====
 +
 +Pour vérifier la syntaxe d'un script sans le lancer (//run-dry//) : ''set -n'' (ou ''bash -n mon_script.sh'')
 +
 +====-o pipefail====
 +
 +Cette option permet de stopper l'exécution d'un script dès le premier code de retour != 0, même s'il est récupéré dans un pipe. Par exemple:
 +<code bash>
 +#!/bin/bash
 +#set -eo pipefail
 +foo | echo test1
 +echo test2
 +#test1
 +#line 3: foo: command not found
 +#test2
 +</code>
 +
 +<code bash>
 +#!/bin/bash
 +set -eo pipefail
 +foo | echo test1
 +echo test2
 +#test1
 +#line 3: foo: command not found
 +</code>
 +
 +====-u====
 +
 +Avec cette option, bash va générer une erreur et stopper son exécution si une variable non déclarée est utilisée. Pour éviter cela, on utilisera la notation ''${var-default}'' pour s'assurer que si $var n'est pas définie, on lui attribuera la valeur "default" et bash ne génèrera pas d'erreur.
  
 =====.bashrc===== =====.bashrc=====
informatique/linux/bash.txt · Last modified: 2023/01/09 10:52 by pteu