這是一個錯誤嗎,當我find ./path/here/
得到:
./path/here//foo
./path/here//bar
我知道find
希望我指定不帶尾部斜杠的路徑,但它肯定可以檢測製表符完成留給我的路徑並相應地調整其輸出。有什麼理由不這樣做嗎?
答案1
答案2
根據記錄,人們可能使用find some/dir/
而不是的原因之一find some/dir
是,何時some/dir
實際上是一個目錄的符號鏈接,並且您確實希望find
在該符號鏈接指向的目錄中查找文件。
但是,在這種情況下,有更好的選擇:
find -H some/dir
-H
是一些 POSIX 實用程式(ls
、cp
、 ...)支援的選項,它告訴實用程式遵循作為參數傳遞的符號連結(只是那些,不要與/chmod
混淆,這會導致遵循-L
-follow
find
每一個符號鏈接,作為參數傳遞的符號鏈接,以及在目錄遍歷期間找到的符號鏈接)。
這在功能上仍然不等同於實際上不是目錄的find some/dir/
情況。some/dir
在這種情況下,find some/dir/
將會失敗不是目錄錯誤同時find -H some/dir
會列出該非目錄檔案。