【问题标题】:how to specify path with space inside file in linux如何在linux中指定文件内有空格的路径
【发布时间】:2020-03-16 09:39:14
【问题描述】:
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
还是一样的错误
【问题讨论】:
标签:
linux
ubuntu
terminal
cd
【解决方案1】:
需要引用cat ...展开的结果:
cd "$(cat ~/.last_dir)"
【解决方案2】:
cd "$(<~/.last_dir)"
首先,在$(...) 周围加上引号,使空格成为文件名的一部分。
其次,$(<...) 是一个bash 构造,它直接读取文件而不执行cat,但不是完全可移植的。
对于更通用、更少特定于 bash 的版本,请使用 Maxim 的解决方案。
【解决方案3】:
只需在路径周围加上引号:
"/mnt/c/Users/Administrator/OneDrive/Desktop/main project/backup/main project 2"
这应该适用于大多数情况