Вывести список скрытых файлов без использования - ( * |

Вывести список скрытых файлов без использования - ( * |

Можно ли перечислить скрытые файлы без использования символов, упомянутых выше? Это означает, что не используются никакие опции или подстановочный знак *, а также некоторые другие символы (например, этонетразрешено ls -a, ls -d, .!(|.), echo .*и т.д.).

решение1

find .выведет список всех файлов, включая скрытые.

Следствие: Кто-то думает, что это хорошая идеянаучить вводить командыпутем внесения в черный список отдельных персонажей ивозможно даже командыв вашем сценарии. Это активно вредит вашему обучению оболочке, потому что вы в итоге получаете хаки вродеэкранированные символыилиполагаясь на специфичную для Ubuntu конфигурацию по умолчанию, оба из которых не смогутобрабатывать специальные имена файлов.

На самом деле, похоже, что тот, кто это придумал, хотел evalпо какой-то причине это использовать (что всегда* ужасная идея), а не просто выполнить отправленный код или скрипт напрямую.

Самый простой способ перебрать скрытые файлы — это

for file in .*
do
    my_command "$file"
done

* Или настолько чертовски близко к тому, чтобы всегда, что вам лучше прочитать и понять всеСтатья в Bash Wiki об этомпрежде чем даже рассматривать возможность его использования.

решение2

В Ubuntu есть псевдоним по умолчанию для ls -la. Вы можете просто использовать

la

решение3

echo `printf '.\x2A'`

Таблица Unicode для победы.

решение4

echo .<TAB><TAB>

Это уже встроено в bash для этого. Даже не нужно выполнять команду.

echo .<Мета-*>

Если вам абсолютно необходима команда (но при этом вам не нужны никакие внешние процессы).

Связанный контент