4.5 - shopt

Cette fonction intégrée (à Bash) vous permet de modifier d'autres comportements optionnels de l'interpréteur de commandes. Par exemple, voyez le résultat de ces commandes :

# @client

mkdir test
cd test
mkdir "dossier" "autre dossier"
touch fichier.txt "autre fichier.txt" dossier/fichier_b.txt dossier/"fichier c.txt" "autre dossier"/"autre fichier d.txt"
for file in $(find -name "*.txt"); do echo "Trouvé: $file"; done

shopt -s globstar nullglob
for file in **/*.txt; do echo "Trouvé: $file"; done
shopt -u globstar nullglob

Le switch -s permet de définir une option (set), le switch -u permet de la désactiver (unset)

Retrouvez toutes les options sur la documentation de GNU Bash

Parameter Substitution

Les « parameter substitution » sont des fonctions avancées de manipulation des variables qui s'exprime directement dans le nom de celle-ci, entre les accolades. Quelques exemples :

echo ${nom} # affiche le contenue de la variable "nom"
echo $(nom-$(whoami)} # si "nom" n'est pas défini, affiche le résultat de la commande "whoami"
echo ${nom=bigboss} # si "nom" n'est pas défini, le définir à la valeur "bigboss"
echo ${nom?"pas de nom"} # si "nom" n'est pas défini, affiche l'erreur "pas de nom" et sort avec le code d'erreur 1
echo ${#nom} # affiche le nombre de caractères dans la variable "nom"
echo ${nom%.*} # si nom="big.boss", affichera "big"
echo ${nom##*.} # si nom="big.boss", affichera "boss"
# ...