Como montar a partição com espaços no caminho

7

Eu criei uma partição e queria montar essa partição neste diretório /home/max/VirtualBox VMs

Eu escrevi esta linha no fstab:

/dev/sda4    /home/max/VirtualBox\ VMs  ext4    defaults        0 0

mas está dando esse erro

[mntent]: line 16 in /etc/fstab is bad

Eu sei que estou recebendo este erro por causa do espaço entre 'virtualbox VMs'

É possível montar esse diretório?

[max@localhost VirtualBox VMs]$ pwd
/home/max/VirtualBox VMs
    
por max 03.01.2013 / 10:53

4 respostas

2

Use aspas.

/dev/sda4 "/home/max/VirtualBox VMs" ext4 defaults 0 0

    
por 03.01.2013 / 10:58
15

fstab tem sua própria sintaxe. Para usar espaços como parte de um nome de diretório, você precisa especificar seu ponto de código como um octal de 3 dígitos com preenchimento zero número, precedido por uma barra invertida (caractere de escape).

Em ASCII , o ponto de código do caractere de espaço é 32 ou 40 em octal , então você pode usar:

/dev/sda4               /home/max/VirtualBox0VMs  ext4    defaults        0 0

Observe que, embora os pontos de código também sejam suportados para outros caracteres, o suporte é um pouco esquisito. Na minha máquina, você pode escrever 7 em vez de W , mas não 0 em vez de 8 ...

    
por 03.01.2013 / 11:14
0

Na pergunta que você diz, o nome é

/home/max/VirtualVM Box

, no seu exemplo você mostra

/home/max/VirtualBox\ VM

Deve ser

/home/max/VirtualVM\ Box

para ser o mesmo. Também deve ter citações em torno dele.

    
por 03.01.2013 / 11:03
0

Estou convertendo todo o caminho para o ponto de código com uma função 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")
    
por 28.03.2017 / 17:52

Tags