Использование if [ -f "file" ] работает с не скрытыми файлами.
Я пытаюсь использовать его для скрытого файла: if [ -f ".file" ] и, конечно, он возвращает false (даже этот .file существует).

Если я использую if [ -f -a "file" ] он возвращает true для всех скрытых файлов (то есть, если 'any' файл скрыт).

Как я могу проверить, существует ли .someFile (где 'someFile' - скрытый файл)?

1 ответ1

0

Хорошо, нашел это (просто пытаясь действительно). Нужно использовать -a вместо -f:
if [ -a ".file" ]

-Редактировать-

Следуя замечательному совету Cyrus, $ help test перечислит все параметры теста. В частности:
-a ФАЙЛ Истина, если файл существует.
-f ФАЙЛ Истина, если файл существует и является обычным файлом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .