我在装有 Ubuntu 的 Windows 10 上使用 WSL。
我经常使用的目录路径包含名称中带有空格的目录。我无法更改该名称。目录的路径很长:
/mnt/c/Users/name/Dropbox/My PC (Laptop...)/Desktop/Studies/Python
因此,我想在 .bashrc 中创建一个变量,其名称$PROJECTPATH
等于目录的路径。
这样我就可以调用或别名cd $PROJECTPATH
并获取我的文件。
我尝试编写:
PROJECTPATH='/mnt/c/Users/name/Dropbox/My\ PC\ \(Laptop...\)/Desktop/Studies/Python'
alias prjct='cd $PROJECTPATH'
但是运行 prjct 时,我收到错误消息“参数过多”,这意味着传递给 cd 的命令中有空格。
在将变量传递给 cd 或任何其他命令时,如何转义空格?
我应该导出这种变量吗?
答案1
您需要在定义$PROJECTPATH
中添加双引号alias
。
另外,我建议不要在变量定义中使用反斜杠。它的可读性较差,在本例中不需要:
PROJECTPATH='/mnt/c/Users/name/Dropbox/My PC (Laptop...)/Desktop/Studies/Python'
alias prjct='cd "$PROJECTPATH"'