Don't simple unset them afterward when using `shopt` change a setting
Sometimes we need to run shopt -s dotglob nullglob
before moving files including dotfiles. So there's another question, do we need to set it back afterward? The most correct answer is
It's usually not clear if either
dotglob
ornullglob
were already set before running shopt -s to set them. Thus, blindly un-setting them may not be the proper reset to do. Setting them in a subshell would leave the current shell's settings unchanged:
( shopt -s dotglob nullglob; mv /public/* /public_html/ )