Sim, você teria que desmarcar essas opções (com shopt -u nullglob dotglob
) depois se quisesse que o comportamento de globalização padrão voltasse ao shell atual.
Você poderia apenas fazer
mv ~/public/* ~/public/.* ~/public_html/
Isso ainda geraria um erro sem nullglob
set se um dos padrões não correspondesse a nada, obviamente, mas funcionaria sem precisar definir nenhuma opção. Provavelmente, também diz algo sobre a falha ao renomear .
, já que é um diretório, mas isso também não impede que ele mova os arquivos.
Uma opção melhor pode ser usar rsync
localmente:
rsync -av ~/public/ ~/public_html/
e, em seguida, exclua ~/public
.