脚本运行时 shell 脚本中的路径名包含额外字符

脚本运行时 shell 脚本中的路径名包含额外字符

我正在编写一个脚本,可以部分自动备份 MTP 设备的内容。在继续之前,我尝试通过添加在 nemo 中打开文件夹的行来验证是否可以访问相关文件夹。这是脚本:

#!/bin/bash

echo "mtp://[usb:[BUS],[DEVICE]]"
echo -n "Enter BUS: "
read BUS
echo -n "Enter DEVICE: "
read DEVICE
nemo /run/user/1000/gvfs/mtp:host=%5Busb%3A$BUS%2C$DEVICE%5D/Internal%20shared%20storage/

第一个“echo”行仅供用户参考。

$BUS 和 $DEVICE 已正确替换为输入的值,从而生成 MTP 设备根目录的正确路径,但以下文件夹未正确解释,因为我收到以下错误消息:

"Could not find "mtp://[usb:002,036]/Internal%2520shared%2520storage".

Please check the spelling and try again.

[OK]"

两次添加的“25”从何而来?我该如何解决这个问题,以便脚本在 nemo 中打开正确的路径?

答案1

Archemar 建议用空格替换 %20 并在路径字符串周围使用双引号解决了我的问题,并导致文件夹被正确打开。

相关内容