Eu verifiquei um script meu com checkbashisms e recebi os seguintes avisos:
possible bashism in check_ssl_cert line 821 (test -a/-o):
if [ -n "${ALTNAMES}" -a -n "${COMMON_NAME}" ] ; then
Na seção 4.62.4 das especificações POSIX , acho
primário - um primário Executa um binário e os resultados de primário e primário. O operador -a tem precedência sobre o operador -o.
Por que -a
e -o
considerado não portátil?
fonte
-a
e-o
[ "x$ALTNAMES" != x -a "x$COMMON_NAME" != x ]
(ainda não especificado de acordo com o POSIX, mas portátil e confiável), ou[ "${ALTNAMES:+x}${COMMON_NAME:+x}" = xx ]
Porque eles são uma extensão XSI, que pode ou não ser implementada. Veja: http://pubs.opengroup.org/onlinepubs/009695399/utilities/test.html
fonte