Recientemente estaba navegando por la /bincarpeta de mi Fedora y noté un binario llamado [. Intenté buscar en Internet más información sobre eso, pero no pude encontrar nada útil. Ejecutarlo straceno parece producir nada útil para una inspección más cercana también.
¿Que es eso? ¿Debería estar alarmado? ¿Podría ser el resultado de un compromiso del sistema? ¿Debo ejecutarlo? ¿Pertenece a algún paquete?

[ -f /bin/[ ] && printf "%s\n" "Don't panic"man [para ver cuál es el[comando!bash, y pensé que podría ser otra cosa. No es lo primero que se te viene a la mente cuando ves un binario con un nombre que nunca has visto antes en tu sistema de archivos, o para decirlo de otra manera, tienes que encontrar algo más concreto para despejar las dudas en tu cabeza .rpm -qif /bin/[para averiguar de dónde viene ...Respuestas:
El
[binario que reside debajo del/binárbol en muchas distribuciones de GNU / Linux no es algo para alarmarse. Al menos en mi Fedora 19 es parte del paquete coreutils, como se demuestra a continuación:y es un sinónimo para
testpermitir expresiones como[ expression ]escribir en scripts de shell o incluso uso interactivo.fuente
bashtienen un incorporadotesty[no invocan el binario externo.[Esta especificación requiere un comando de prueba .[comando incorporado . No Bourne-como aquellos como(t)csh,rc,espor lo general no lo hacen (fishes una excepción allí).El
[comando es el mismo que eltestcomando.Le permite escribir declaraciones condicionales más bien concisas en scripts de shell. Desde la página del manual de SunOS:
Si lo elimina, ¡los scripts se romperán!
fuente
[un comando incorporado se romperán. La mayoría de las conchas lo hacen. Aún así, ciertamente no recomendaría eliminar/bin/[.[incorporados, son scripts que ejecutan aplicaciones[que no son shell que se romperán. Me gustafind ... -exec [ -f {} ] \;oenv LC_ALL=C [ -f bar ][una función incorporada, pero no creo que haya[sido una función incorporada en el original Bourne shell. En cualquier caso, eliminar/bin/[sería una mala idea.testy[son casi lo mismo.[requiere un cierre];testno lo permite (o más bien no trata un argumento de forma]especial).El [siempre se da como un equivalente a la prueba, pero no había visto el] mencionado explícitamente, aunque siempre está ahí. Acabo de encontrar esto en http://ss64.com/bash/test.html :
lo cual es tranquilizador, por fin tengo finalización como dicen.
fuente