linux bash:cd 到有空格的目录

use*_*285 2 linux bash

如果目录名称为“我的目录”。我可以使用这个进入目录,

~: cd my\ dir
Run Code Online (Sandbox Code Playgroud)

或者

~: cd "dy dir" 
Run Code Online (Sandbox Code Playgroud)

但我发现如果我这样做:

~: export my_dir=my\ dir
Run Code Online (Sandbox Code Playgroud)

或者

~: export my_dir="my dir"
Run Code Online (Sandbox Code Playgroud)

然后

~: cd $my_dir
Run Code Online (Sandbox Code Playgroud)

它不起作用, cd 总是将其参数作为“我的”并报告错误。

任何人都知道如何解决这个问题?

谢谢!

bdo*_*lan 10

在引号之外使用时,shell 会将变量拆分为空格。做cd "$my_dir"代替。