Pregunta ¿Cuál es el comando `[`? [duplicar]


Esta pregunta ya tiene una respuesta aquí:

He visto tanto en Cygwin como en Linux [ comando bajo /bin. Cada vez que lo ejecuto recibo un error que dice: missing ].

Nunca entendí lo que hace este comando, solo un día encontré que quería saber qué hace (y si es útil o no)

NOTA: Yo habría revisado el man entrada, por una respuesta, pero lamentablemente, no hay entrada en ella para [


4


origen


¿Cuál es el comando? - stderr
@ TiagoƇ. El comando se llama [ - inixsoftware
En bash, se vuelve a implementar como un comando incorporado. En un tipo de indicación bash help [ - glenn jackman


Respuestas:


Esto es test mando.

Por ejemplo, averigüe si /etc/passwd existe o no:

[ -f /etc/passwd ] && echo "Yes" || echo "No"

Regularmente lo escribes de la siguiente manera:

if test -f /etc/passwd
then
  echo "Yes"
else
  echo "No"
fi
Read 

7





¿Alguna vez ha visto / observado si las condiciones en los guiones de shell? Ellos son de la forma:
[ -e $FILE ] 

En esos casos, la funcionalidad de comprobación condición suele ser incorporado en la carcasa interpretar esos guiones, generalmente bash o sh-alias-bash.

Los archivos binarios que ves sirven para el mismo propósito, pero están presentes, por lo que las verificaciones de condición se pueden usar en shells sin tal funcionalidad incorporada.


2





El [corchete cuadrado es otra forma de llamar al test mando.

Referirse a página Man de prueba para más información :)


2