如何在
.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
...当我跑步时:
mount $games
...它会抛出一个错误,表明它只是尝试挂载
/run/media/mohamedRadwan/games
。
但是当我运行
echo $games
时,它显示完整的值,/run/media/mohamedRadwan/games moves
。
我该如何解决这个问题?
mount /dev/sda9 "$games"
如前所述,始终引用变量取消引用。否则,shell 会将变量值中的空格混淆为分隔多个值的空格。
当变量包含空格时,变量扩展然后分词将导致许多参数,echo 命令将显示所有参数,但其他程序或函数可能会以另一种方式处理参数。
用双引号包围变量将防止参数被拆分
printf "'%s'\n" $games
printf "'%s'\n" "$games"