shell 编程初学,有一个 rm 删除文件的问题。
dir="/home/wwwroot/web/"; rm -rf "${dir}*" rm -rf "${dir}.*"
为什么 web 目录会被删掉呢。。。。
谢谢~~~ = =
没能在我电脑上重现啊
#1 楼 @iBachue ubuntu ...系统。。很蛋疼,在 mac 上没问题。。
#2 楼 @moliliang Ubuntu 14.04.1 也没重现
#3 楼 @iBachue 我直接删除 rm -rf xxx & mkdir web 也不行。。。。哎。。。
因为 '.*' 会扩展成 ['.', '..', '.XXX'] 所以会把自己删掉。
bash 和 dash 似乎都会扩展,而 zsh 又好像没有。你可以仔细研究一下……
#5 楼 @msg7086 ╮(╯▽╰)╭。。我改成
rm -rf ${dir} && mkdir ${dir}
其实 web 不是这个命令删的。。我是想通过 git clone 数据。。结果被 git 的命令删除了。。一直以为是 rm 删的。。╮(╯▽╰)╭。。坑了一天。。
#5 楼 @msg7086 rm 命令是不会删除'.'和'..'这两个东西的
#7 楼 @iBachue 原来如此