我正在编写一个脚本,可以部分自动备份 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 并在路径字符串周围使用双引号解决了我的问题,并导致文件夹被正确打开。