如何使用 cd 命令访问带有空格的目录

如何使用 cd 命令访问带有空格的目录

如何使用“cd”访问带空格的目录,例如 bash 脚本中的“XML 5.1 Final Fields”

我试过cd XML 5.1 Final Fields

但它给出了No such file or directory错误。

这是脚本:

#! /bin/bash
xmlfolder="XML/ \/5.1/ \/Final/ \/Fields"
xmlpath="/home/george/Desktop/m5u/test/$xmlfolder"
cd $xmlpath
ls /home/george/Desktop/m5u/test/    
XML 5.1 Final Fields
~/Desktop/m5u/test$ ll
drwxr-xr-x  9 george george      4096 Feb 18 12:44 XML 5.1 Final Fields

这是我运行脚本时遇到的错误

line 5: cd: /home/george/Desktop/m5u/test/XML\: No such file or directory

答案1

你的变量xmlfolder是错误的。应该是

xmlfolder=XML\ 5.1\ Final\ Fields

或 ="XML 5.1 Final Fields"

您不需要在路径中使用- 因为它只是一个文件夹。如果您还使用,/则也不需要。选择一个。""\


由于您使用ls命令进行编辑,我可以看到文件夹名称末尾可能有一个空格。我建议您删除该空格,方法是在 nautilus 中重命名或使用命令mv

如果您想保留空格,您的变量名应该是这样的:

xmlfolder=XML\ 5.1\ Final\ Fields\ 

或者

xmlfolder="XML 5.1 Final Fields "

请注意,如果使用带\字符的 First 选项,则还需要用 引用变量"",即"$xmlfolder"


该错误表明cd对路径不满意。

尝试cd从此处更改命令

cd $xmlpath

cd "$xmlpath"

说实话,cd在 bash 脚本中你不需要这么做。只需使用绝对路径引用所有内容即可。


总结来说,你的xmlfolder=线路应该是xmlfolder=XML\ 5.1\ Final\ Fields,你的cd线路应该是cd "xmlpath"

我的代词是“他”

相关内容