Shell - Bludwarf/CodeBank GitHub Wiki
Suivi d'un fichier de log avec grep
tail -f error_log_frparvm37955927_traducteur.log | grep --line-buffered 't_adresse'
Variables
MOUNT="/bin/mount"
basedir=`dirname $0`
JAR_NAME=$(basename -- "$JAR_PATH")
user=$(whoami)
RETOUR=$?
VAR=${!VARNAME} # Déclaration de variable avec un nom dynamique
ESCAPED_MULTILINE="${MULTILINE//$'\n'/\\n}" # Échappement des sauts de ligne contenu dans une variable (uniquement le premier si / au lieu de //)
"${*: -1}" # Dernier argument
${*%${!#}} # Tous les arguments sauf le dernier
Vérification de variables :
if [ -z "$VAR" ]; then echo "Chaîne vide"; exit 1; fi
Aperçu de fichier
Première ligne d'un fichier.
head -n 1 file.txt
Dernière ligne d'un fichier
tail -n 1 file.txt
Installation de package
Installer le package gettext
, si on ne trouve pas la commande envsubst
:
which envsubst || (apt-get update -y && apt-get install gettext -y)
Pour Alpine :
which envsubst || (apk update && apk add gettext)
Chemin
Boucler sur un chemin avec wildcards :
# Exemple : "dossier/*/fichier.txt"
local files
files=$*
if [ -z "$files" ]; then usage; fi
for file in $files; do
echo "$file"
done
Si le chemin contient **
:
shopt -s globstar # Pour activer la recherche de fichier via **
Lecture de fichier
Ligne par ligne :
while IFS="" read -r line || [ -n "$line" ]; do
printf 'Ligne : %s\n' "$line"
done <"$file"
Paramètres dans une fonction
local OPTIND o save_jar_only
save_jar_only=false
while getopts ":j" o; do
case "${o}" in
j)
save_jar_only=true
;;
*)
foo_usage
;;
esac
done
shift $((OPTIND - 1))