Kiểm tra xem tệp có tồn tại đối với các tệp bị ẩn (.file) không


1

Sử dụng if [ -f "file" ]làm việc trên các tập tin không ẩn.
Tôi đang cố gắng sử dụng nó cho một tập tin ẩn: if [ -f ".file" ]và tất nhiên nó trả về false (ngay cả điều đó .filetồn tại).

Nếu tôi sử dụng, if [ -f -a "file" ]nó trả về true cho tất cả các tệp bị ẩn (nghĩa là, nếu tệp 'any' bị ẩn).

Làm cách nào để kiểm tra xem có .someFiletồn tại không (trong đó 'someFile' là một tệp ẩn)?


1
Tôi đề nghị:help test
Cyrus

@Cyrus Ok, bây giờ tôi cảm thấy ngớ ngẩn. Tất cả đều ở đó, được liệt kê màu xanh lá cây trên màu đen. Cảm ơn!
bauerMusic

if [ -f "file" ]sẽ hoạt động tốt để phát hiện các tập tin ẩn (nhưng nếu không bình thường). Nếu nó không thành công, bạn có thể có một cái gì đó giống như một liên kết tượng trưng đến một tập tin ở nơi khác; đó không phải là một tập tin thông thường, vì vậy -fbài kiểm tra sẽ trả về sai. Nó không liên quan gì đến việc nó có ẩn hay không.
Gordon Davisson

Câu trả lời:


1

Ok, tìm thấy nó (bằng cách chỉ cố gắng thực sự). Cần sử dụng -athay vì -f:
if [ -a ".file" ]

-Chỉnh sửa-

Theo lời khuyên tuyệt vời của Cyrus , $ help testsẽ liệt kê tất cả các tùy chọn kiểm tra. Cụ thể:
-a TẬP TIN Đúng nếu tệp tồn tại.
-f FILE Đúng nếu tệp tồn tại và là tệp thông thường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.