如何在 linux 中的文件中使用 space 指定路径

how to specify path with space inside file in linux

cat ~/.last_dir

/mnt/c/Users/Administrator/OneDrive/Desktop/main project/backup/main project 2

cd cat ~/.last_dir

-bash: cd: too many arguments

我尝试在文件中使用反斜杠

/mnt/c/Users/Administrator/OneDrive/Desktop/main\ project/backup/main\ project\ 2

还是一样的错误

只需在您的路径两边加上引号:

"/mnt/c/Users/Administrator/OneDrive/Desktop/main project/backup/main project 2"

这应该适用于大多数情况

你需要引用扩展的结果cat ...:

cd "$(cat ~/.last_dir)"
cd "$(<~/.last_dir)"

首先,将引号 放在 $(...) 周围 $(...) 以构成文件名的 space 部分。
其次,$(<...) 是一个 bash 结构,它直接读取文件而不执行 cat,但并不完全可移植。

对于更通用、更少 bash 特定的版本,请使用 Maxim 的解决方案。