Tengo un archivo inesperado llamado [
(un corchete izquierdo) en mi archivo /bin en mi Mac Powerbook. Estoy ejecutando Catalina. Cuando reviso cat
el archivo, parece algo de la autoridad de certificación de Apple. La mayor parte es ilegible, pero tiene texto como
Apple Certification Authority
y
PROGRAM:test PROJECT:shell_cmds-207.40.1 ??????i@[]missing ]!unexpected operator%s: %s%sclosing paren expectedargument expected%s: bad number%s: out of range)
¿Alguna idea de qué podría ser esto? Me parece sospechoso, como si tuviera algún código fuente basado en los mensajes de error. Pero no quieras simplemente eliminarlo en caso de que sea un archivo que Apple necesite.
Respuesta1
El corchete abierto, [
, es un ejecutable estándar, equivalente a test
, que proporciona azúcar sintáctico al escribir scripts de shell (es decir, "se ve bien")
fruit="banana"
if [ banana = "$fruit" ] # "[" really is an executable
then
echo "Yum, yum"
fi
O
fruit="banana"
if test pear = "$fruit"
then
echo "Yum, yum"
fi
Estos son directamente equivalentes.
En realidad, su shell probablemente implemente ambos [
y test
directamente, de modo que cuando los llame, su shell ejecute el comando en lugar de ejecutar un proceso separado para hacerlo. Nuevamente, no hay diferencias perceptibles para usted, el usuario.