I suppose that ignore-fail-on-non-empty just suppresses the error message and sets the exit status
`--ignore-fail-on-non-empty'
Ignore each failure to remove a directory that is solely because
the directory is non-empty.
`-p'
`--parents'
Remove DIRECTORY, then try to remove each component of DIRECTORY.
So, for example, `rmdir -p a/b/c' is similar to `rmdir a/b/c a/b
a'. As such, it fails if any of those directories turns out not
to be empty. Use the `--ignore-fail-on-non-empty' option to make
it so such a failure does not evoke a diagnostic and does not
cause `rmdir' to exit unsuccessfully.
As you probably already know, if you intend to remove the .ssh directory and its content, you should use rm instead.