Ech*_*ary 5 unix linux shell wildcard
所以我要继续移动一堆文件
mv /source /dest &
mv /source/* /dest/dest/ &
...
...
Run Code Online (Sandbox Code Playgroud)
然后我变得粗心大意
mv /source/filena* /dest/dest/ *
Run Code Online (Sandbox Code Playgroud)
我的天啊!^c^c^c^c
[终端命令无响应]这里到底发生了什么?
当我将*(星号)放在命令的末尾而不是&(&符号)时会发生什么?
shell扩展了通配符*.该mv命令永远不会看到通配符,只看到扩展的结果.
通配符*以字典顺序扩展到当前目录中的文件列表.如果最后一个文件是一个目录,然后将所有上述文件(/source.filenafoo,/source/filenabar,/dest/dest,hello)移动到该子目录.如果最后一个文件不是目录,则mv抱怨"目标a.png不是目录"(或者说该效果的话).
见什么mv ./*不指定目的地呢?更详细的例子.