Macos 正在更改为名为“的目录”;“没有名字”;

Macos 正在更改为名为“的目录”;“没有名字”;,macos,terminal,sh,cd,Macos,Terminal,Sh,Cd,我有一个名为“无名”的拇指驱动器 我想编写一个shell脚本,找到这个thumb驱动器的路径,并将目录更改为thumdrive 以下代码将成功打印出/卷/无名称 export usb=$(system_profiler SPUSBDataType | grep -oE '/Volumes/.*$' | tail -1) 我的问题是,当我尝试运行下面的命令时 cd $usb 我收到一个错误,说他们没有名为Volumes/no的目录 很明显,它没有选择“名称”,因为它们之间有一个空格,但是我如何

我有一个名为“无名”的拇指驱动器

我想编写一个shell脚本,找到这个thumb驱动器的路径,并将目录更改为thumdrive

以下代码将成功打印出/卷/无名称

export usb=$(system_profiler SPUSBDataType | grep -oE '/Volumes/.*$' | tail -1)
我的问题是,当我尝试运行下面的命令时

cd $usb
我收到一个错误,说他们没有名为Volumes/no的目录

很明显,它没有选择“名称”,因为它们之间有一个空格,但是我如何修复这个问题呢?我不想放弃将目录路径分配给变量,然后调用该变量来更改目录的想法。。。我也不能更改usb名称


非常感谢您的帮助

您需要引用路径:

cd "$usb"

事实上,如果您使用shell在使用前“展开”的变量,您应该始终这样做。

Owrlowski我已经尝试过了,我得到了以下错误:./file.sh:line 2:cd:“??:没有这样的文件或目录,
system\u profiler SPUSBDataType | grep-oE'/Volumes/*$'| tail-1
?@python\u初学者\u coder您使用的是一个花哨的unicode引号,而不是一个普通的ASCII双引号。您可能正在使用一个“有益地”执行“智能引号”的文本编辑器。”转换——这将严重破坏shell脚本。您应该在编辑器中关闭此功能,或者使用不会像这样干扰键入的编辑器(我喜欢)@Marcin Orlowski命令的输出为:/Volumes/NO name然后检查@GordonDavisson建议的内容-您的脚本可能包含一些奇怪的字符,您可能希望将整个脚本添加到问题中(或至少第2行)