Tôi muốn quay trở lại trạng thái thoát là 0 nếu đầu ra là trống rỗng và 1 cách khác:Làm cách nào để biết đầu ra của lệnh "tìm" có trống không?
find /this/is/a/path/ -name core.*
Tôi muốn quay trở lại trạng thái thoát là 0 nếu đầu ra là trống rỗng và 1 cách khác:Làm cách nào để biết đầu ra của lệnh "tìm" có trống không?
find /this/is/a/path/ -name core.*
Khi bạn nói bạn muốn nó trả về một số cụ thể, bạn có đề cập đến trạng thái thoát? Nếu vậy:
[[ -z `find /this/is/a/path/ -name core.*` ]]
Và kể từ khi bạn chỉ quan tâm đến một có/không trả lời, bạn có thể muốn thay đổi tìm bạn như thế này:
[[ -z `find /this/is/a/path/ -name core.* -print -quit` ]]
đó sẽ dừng lại sau khi các tập tin cốt lõi đầu tiên được tìm thấy. Nếu không có điều đó, nếu thư mục gốc lớn, việc tìm kiếm có thể mất một lúc.
Có lẽ nhiều biến thể, nhưng đây là một:
test $(find /this/is/a/path/ -name core.* | wc -c) -eq 0
Dưới đây là phiên bản của tôi. :)
[ -z "$(find /this/is/a/path/ -name 'core.*')" ] && true
Edited cho ngắn gọn:
[ -z "$(find /this/is/a/path/ -name 'core.*')" ]
'cái && true' là gì? –
Heh, tôi đã nghĩ, "Để đặt trạng thái thoát." Nhưng yeah, duh, thử nghiệm đã làm điều đó, nó hoàn toàn không cần thiết, bắt tốt. –
Có lẽ đây
find /this/is/a/path/ -name 'core.*' | read
Điều này sẽ trả về 0 nếu đầu ra là không trống, không phải nếu nó trống. –
Rất tiếc. Logic đã được đảo ngược. Đã sửa ở trên. Alex đúng với '-z' –
+1 cho tùy chọn' -quit', rất hay! –