如何通过终端将下载的.txt文件移入指定fileProcessing目录?
问题分析与解决方法
你的脚本失败核心原因是带空格的文件名没有用引号包裹,bash会把空格分割的内容当成多个独立参数,导致循环遍历的是不存在的文件片段;另外单个文件根本不需要用for循环,纯属多余。
正确的单文件移动命令
直接用mv命令,给带空格的文件路径加上双引号即可:
mv "~/Downloads/Declaration of Independence .txt" ~/fileProcessing
或者用$HOME替代~(避免引号影响~的路径展开,效果一致):
mv "$HOME/Downloads/Declaration of Independence .txt" ~/fileProcessing
如果非要用循环(比如后续处理多文件)
必须给循环中的文件名变量和路径都加上双引号,防止空格被拆分:
for file in "$HOME/Downloads/Declaration of Independence .txt" do mv "$file" ~/fileProcessing done
内容的提问来源于stack exchange,提问作者Erin
相关产品推荐
相关产品推荐

