Outils pour utilisateurs

Outils du site


tech:bash_astuces

Ceci est une ancienne révision du document !


Bash astuces

Check syntax avec shellcheck

Voir aussi :

shellcheck monscript.sh

Si faux positif

# shellcheck disable=SC2086
rsync $RSYNC_OPT "${PART}/" "${PART_TMP}/"
$ shellcheck plop.sh
 
In mkiso-debian.sh line 56:
        source "$FIC_PROPERTIES"
        ^-- SC1090: Can't follow non-constant source. Use a directive to specify location.

Solution

Ajouter en commentaire shellcheck source=

plop.sh
# shellcheck source=vars/vm-deb10.var
source "$FIC_PROPERTIES"

puis

shellcheck -x plop.sh

Variables

Alternative à eval pour les variables Meta variables

$ a=1
$ b=2
$ meta_var="a"
$ echo ${!meta_var}
1

Appel de variable

$ B=2
$ KEY=B
$ echo ${KEY}
B
$ echo ${!KEY}
2

Déclaration / affectation de variables dynamiques

$ declare $KEY=12
$ echo ${!KEY}
12

Ou encore

K=V
 
declare -n V2=K
# Ce qui revient à :
# V2="$K"
 
$ LETTRE=ALPHA
$ ALPHA=A
$ declare -n PLOP=$LETTRE
$ echo $PLOP
A

Linter

shfmt https://github.com/mvdan/sh

Auto indent vim

:set expandtab ts=4 sw=4 ai
:retab
tech/bash_astuces.1746001152.txt.gz · Dernière modification : de Jean-Baptiste

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki