Bash script - сделать все файлы в каталоге скрытыми - PullRequest
0 голосов
/ 10 марта 2019

Я использую следующий скрипт, чтобы сделать все файлы в каталоге скрытыми, добавив точку "." в начале.

GLOBIGNORE=".:.."
for file in *; do
     mv -n "$file" ".$file";
done

Как я могу исключить уже скрытые файлы?

Спасибо за вашу помощь!

1 Ответ

3 голосов
/ 10 марта 2019

Подстановочный знак уже не соответствует никаким скрытым файлам, если только вы не включили отдельно dotglob.

Если вы настроили dotglob для включения скрытых файлов, вы можете на мгновение отключить его с помощью

shopt -u dotglob

Использование GLOBIGNORE позволяет dotglob, поэтому, возможно, самое простое решение - это устранить это. Вы также можете изменить его на

GLOBIGNORE='.*'

но это фактически то же самое, что сбросить его.

...