Manpages

NOM

checkbashisms - Rechercher des constructions spécifiques à bash dans les scripts /bin/sh

SYNOPSIS

checkbashisms script ...
checkbashisms --help
|--version

DESCRIPTION

checkbashisms se base sur l’un des tests de lintian pour effectuer des tests simples sur des scripts de type /bin/sh pour détecter la présence de possibles constructions spécifiques à bash [ NdT : bashism en anglais ]. Il prend en argument le nom des scripts et affiche des avertissements lorsqu’une telle construction est détectée.

Remarquez que la définition d’une construction spécifique à bash dans ce contexte correspond grossièrement à "une fonctionnalité d’un interpréteur de commandes qu’il n’est pas nécessaire de gérer d’après POSIX" ; cela signifie que certains des points relevés peuvent être permis dans des sections optionnelles de POSIX, comme XSI ou "User Portability".

Dans les cas où POSIX et la Charte Debian sont en désaccord, checkbashisms autorise par défaut les extensions permises par la Charte mais fournit des options pour une vérification plus stricte.

OPTIONS

--help, -h

Afficher un résumé des options.

--newline, -n

Vérifier l’utilisation de "echo -n" (pas dans POSIX, mais permise par la Charte Debian, section 10.4).

--posix, -p

Vérifier les points qui ne sont pas POSIX, mais dont la prise en charge est exigée par la Charte Debian, section 10.4 (implique -n).

--force, -f

Forcer la vérification de tous les scripts, même s’ils ne l’auraient pas été normalement (par exemple parce qu’ils ont un shebang qui demande une exécution par bash ou un autre shell non POSIX ou ressemble à un wrapper shell).

--lint, -l

Agit comme un linter, pour intégration dans un éditeur de texte. Les "bashismes" possibles seront affichés dans stdout, comme ceci :

{filename}:{lineno}:1: warning: possible bashism; {explanation}

--extra, -x

Met en évidence les lignes qui, même si elles ne contiennent pas de construction propre à bash, peuvent être utiles pour déterminer si certains problèmes particuliers sont des faux positifs qui peuvent être ignorés. Par exemple, l’utilisation de "$BASH_ENV" peut être précédée d’une vérification pour s’assurer que "$BASH" est définie.

--early-fail, -e

Arrête immédiatement après une première erreur.

--version, -v

Affiche la version et le copyright.

VALEURS DE RETOUR

La valeur de retour est 0 si aucune construction spécifique à bash ou autre problème n’a été détecté. Sinon, la somme des erreurs est renvoyée. Les erreurs sont pondérées de la façon suivante :

1

Une construction probablement spécifique à bash a été détectée.

2

Un fichier a été ignoré, par exemple parce qu’il n’était pas lisible ou n’a pas été trouvé. Le message d’erreur donnera des précisions.

4

Aucune construction spécifique à bash n’a été détectée dans un script bash.

VOIR AUSSI

lintian(1)

AUTEUR

checkbashisms a été initialement écrit sous forme de script shell par Yann Dirson <dirson [AT] debian.org> et a été réécrit en Perl avec beaucoup plus de fonctionnalités par Julian Gilbey <jdg [AT] debian.org>.

TRADUCTION

Ce document est une traduction, maintenue à l’aide de l’outil po4a <https://po4a.org/> par l’équipe de traduction francophone du projet Debian.

Nicolas François, Guillaume Delacour, Cyril Brulebois, Thomas Huriaux et David Prévot ont réalisé cette traduction.

L’équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french [AT] lists.org> ou par un rapport de bogue sur le paquet devscripts.

La version anglaise la plus à jour de ce document est toujours consultable en ajoutant l’option « -L C » à la commande man.