Em bash , a maneira mais fácil é executar shopt -s dotglob , que informará bash para incluir arquivos ocultos em globs.
Se você não quiser fazer isso (por exemplo, usando um shell sem esse recurso), basta usar os seguintes globs: .[!.]* ..?* * . A complexidade aparentemente é evitar corresponder . e .. . O primeiro glob corresponde a arquivos ocultos com mais de dois caracteres que começam com . , mas não .. . O segundo corresponde a arquivos ocultos de 3 ou mais caracteres que começam com .. . O último é o glob normal para arquivos não ocultos.
Is there a way for me to include hidden files and directories in this else if statement.
Na verdade, é a declaração for que você deveria estar vendo. Tudo o que você precisa fazer é alterar "$dir"/* para incluir também os outros 2 padrões glob descritos acima.