![경로에 공백이 있는 파티션을 마운트하는 방법](https://rvso.com/image/1345293/%EA%B2%BD%EB%A1%9C%EC%97%90%20%EA%B3%B5%EB%B0%B1%EC%9D%B4%20%EC%9E%88%EB%8A%94%20%ED%8C%8C%ED%8B%B0%EC%85%98%EC%9D%84%20%EB%A7%88%EC%9A%B4%ED%8A%B8%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
하나의 파티션을 생성했고 해당 파티션을 이 디렉터리에 마운트하고 싶었습니다./home/max/VirtualBox VMs
fstab에 다음 줄을 썼습니다.
/dev/sda4 /home/max/VirtualBox\ VM ext4 기본값 0 0
하지만 이 오류가 발생합니다
[mntent]: /etc/fstab의 16번째 줄이 잘못되었습니다.
'virtualBox VM' 사이의 공간 때문에 이 오류가 발생한다는 것을 알고 있습니다.
해당 디렉토리에 마운트할 수 있습니까?
[max@localhost VirtualBox VM]$ pwd /home/max/VirtualBox VM
답변1
따옴표를 사용하세요.
/dev/sda4 "/home/max/VirtualBox VM" ext4 기본값 0 0
답변2
답변3
Bash 함수를 사용하여 전체 경로를 코드 포인트로 변환합니다.
fstab_path(){
local path=$1
local s=
local c=
for i in $(seq 1 ${#path})
do
c=${path:i-1:1}
s="$s"$(printf '\\0%o' "'$c")
done
echo "$s" >/dev/stdout
}
path="path with spaces tabs etc.."
fpath=$(fstab_path "$path")
답변4
나는 같은 문제가 있었지만 약간의 변형이 있었습니다.btrfsVirtual Box가 포함된 하위 볼륨을 ext4 파티션의 홈 디렉토리에 추가했습니다(방금 하드 드라이브를 변경했습니다).
Dennis의 솔루션을 따랐지만 여전히 문제가 있습니다. 내가 직면한 문제는 이전 시스템 경로와 새 시스템 경로 모두 내 솔루션이 대체해야 할 공간이 포함되어 있다는 것입니다.모두공백이 포함된 경로 \040
; 다음과 같이 보일 것입니다 :
/dev/sda1
이전 시스템의 btrfs임/dev/sdb1
새로운 시스템의path/with space
하위 볼륨 마운트/home/<user>/VirtualBox VMs
- 최종 /etc/fstab:
...
/dev/sdb1 /home ext4 defaults 0 0
/dev/sda1 /home/<user>/VirtualBox\040VMs btrfs defaults,subvol=path/with\040space 0 0
...