스크립트가 실행될 때 쉘 스크립트의 경로 이름에 추가 문자가 포함됩니다.

스크립트가 실행될 때 쉘 스크립트의 경로 이름에 추가 문자가 포함됩니다.

저는 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

%20을 공백으로 바꾸고 경로 문자열 주위에 큰따옴표를 사용하라는 Archemar의 제안으로 내 문제가 해결되었고 폴더가 올바르게 열리게 되었습니다.

관련 정보