显而易见的解决方案产生的退出代码为 1:
bash$ rm -rf .*
rm: cannot remove directory `.'
rm: cannot remove directory `..'
bash$ echo $?
1
Run Code Online (Sandbox Code Playgroud)
一种可能的解决方案是跳过“。” 和 ".." 目录,但只会删除名称超过 3 个字符的文件:
bash$ rm -f .??*
Run Code Online (Sandbox Code Playgroud)
Rus*_*ing 36
rm -rf .[^.] .??*
应该捕获所有情况。.??* 将只匹配 3+ 个字符的文件名(如前面的答案所述),.[^.] 将捕获任何两个字符条目(除了 ..)。