2011-06-29 25 views

Respuesta

14

Cuando usted dice que quiere que regrese un número en particular, ¿se refiere a la condición de salida? Si es así:

[[ -z `find /this/is/a/path/ -name core.*` ]] 

Y puesto que sólo se preocupan por una respuesta sí/no, es posible que desee cambiar su hallazgo a esto:

[[ -z `find /this/is/a/path/ -name core.* -print -quit` ]] 

que se detendrá después de que el primer archivo encontrado núcleo. Sin eso, si el directorio raíz es grande, el hallazgo podría tomar un tiempo.

+0

Esto devolverá 0 si la salida no está vacía, no si está vacía. –

+1

Vaya. La lógica se revirtió. Corregido arriba. Alex está en lo correcto con '-z' –

+2

+1 para la opción' -quit', ¡muy agradable! –

3

Probablemente hay muchas variantes, pero este es uno:

test $(find /this/is/a/path/ -name core.* | wc -c) -eq 0 
4

Aquí está mi versión. :)

[ -z "$(find /this/is/a/path/ -name 'core.*')" ] && true 

Editado por razones de brevedad:

[ -z "$(find /this/is/a/path/ -name 'core.*')" ] 
+0

lo que es el '&& true' para? –

+0

Heh, estaba pensando, "Para establecer el estado de salida". Pero sí, duh, la prueba ya lo hace, es totalmente innecesario, buena captura. –

1

Tal vez esto

find /this/is/a/path/ -name 'core.*' | read 
Cuestiones relacionadas