2011-06-29 29 views

Odpowiedz

14

Kiedy mówisz, że chcesz go zwrócić szczególną liczbę, jesteś odnosząc się do stanu wyjścia? Jeśli tak, to:

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

A skoro tylko dbają o tak/nie odpowiedzi, może chcesz zmienić swoje znalezisko do tego:

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

który zatrzyma się po pierwszym pliku rdzenia znaleźć. Bez tego, jeśli katalog główny jest duży, znalezienie może trochę potrwać.

+0

To zwróci 0, jeśli wyjście nie jest puste, a nie, jeśli jest puste. –

+1

Ups. Logika została odwrócona. Skorygowano powyżej. Alex jest poprawny z '-z' –

+2

+1 dla opcji '-quit', bardzo ładnie! –

3

Prawdopodobnie istnieje wiele wariantów, ale to jest jeden:

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

Oto moja wersja. :)

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

Edited dla zwięzłości:

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

co jest '&& TRUE dla? –

+0

Heh, myślałem: "Aby ustawić status wyjścia." Ale tak, duh, test już to robi, jest całkowicie niepotrzebny, dobry chwyt. –

1

Może to

find /this/is/a/path/ -name 'core.*' | read 
Powiązane problemy