如何在bash变量中添加带空格的Path

Moh*_*wan 12 bash terminal

我如何在.bashrc中的bash变量中添加带空格的路径?我想在.bashrc中存储一些变量用于路径,并且我面对带有空间的路径我尝试在''之间添加它或使用转义字符\它没有帮助

games=/run/media/mohamedRadwan/games\ moves    # this doesn't work
games='/run/media/mohamedRadwan/games  moves'  # or this
games="/run/media/mohamedRadwan/games  moves"  # or this
Run Code Online (Sandbox Code Playgroud)

......当我跑步时:

mount $games
Run Code Online (Sandbox Code Playgroud)

...它会抛出一个错误,表明它只是试图装载 .bashrc

...但是当我跑步时.bashrc,它会显示完整的价值,' '

我怎么能解决这个问题?

bis*_*hop 11

mount /dev/sda9 "$games"
Run Code Online (Sandbox Code Playgroud)

如上所述,始终引用变量引用.否则,shell会将变量值中的空格混淆为分隔多个值的空格.


Nah*_*eul 5

当变量包含空格时,变量扩展然后分词将导致许多参数,echo 命令将显示所有参数,但其他程序或函数可能会以另一种方式处理参数。

用双引号包围变量将防止参数被拆分

printf "'%s'\n" $games

printf "'%s'\n" "$games"
Run Code Online (Sandbox Code Playgroud)