checkbashisms - Rechercher des constructions spécifiques à bash
dans les scripts /bin/sh
checkbashisms script ...
checkbashisms --help|
--version
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.
-
--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.
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.
lintian(1)
checkbashisms a été initialement écrit sous forme de
script shell par Yann Dirson <
[email protected]> et a
été réécrit en Perl avec beaucoup plus de
fonctionnalités par Julian Gilbey <
[email protected]>.
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 à <
[email protected]> 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.