J'ai vérifié un de mes scripts avec checkbashisms et j'ai reçu les avertissements suivants:
possible bashism in check_ssl_cert line 821 (test -a/-o):
if [ -n "${ALTNAMES}" -a -n "${COMMON_NAME}" ] ; then
Dans la section 4.62.4 des spécifications POSIX, je trouve
primary -a primary Exécute un binaire et des résultats de primaire et primaire. L'opérateur -a a priorité sur l'opérateur -o.
Pourquoi -a
et -o
considérés comme non portables?
la source
-a
et-o
[ "x$ALTNAMES" != x -a "x$COMMON_NAME" != x ]
(toujours non spécifié selon POSIX mais portable et fiable), ou[ "${ALTNAMES:+x}${COMMON_NAME:+x}" = xx ]
Parce qu'il s'agit d'une extension XSI, qui peut ou non être implémentée. Voir: http://pubs.opengroup.org/onlinepubs/009695399/utilities/test.html
la source