passa argumentos que tem espaços para novo protocolo

1

Eu criei um novo manipulador de protocolo para abrir aplicativos através de páginas da web, onde um link abrirá um aplicativo instalado, como terminal / chrome, como sugerido em: ( É possível abrir um aplicativo do Ubuntu a partir de HTML? ), no meu caso o seu navegador de arquivos nautilus .. funcionou perfeitamente sem argumentos, no entanto, quando eu passar argumentos como 'app: // nautilus / home / user / dir / meu dir /' (argumento tem espaço nele, ele falha mesmo tentou a seqüência de escape ('\') para espaço, sem sorte.

Aqui, estou tentando abrir diretórios em seqüência aleatória onde não consigo criar link simbólico para cada um dos diretórios. Alguém pode me ajudar como passar argumentos que tem espaços para um novo protocolo criado?

qualquer ajuda apreciada, obrigado antecipadamente.

tentou criar um script de shell test.sh que tem apenas nautilus $ @, e nautilus "$ @" e correu test.sh "/ home / usr / dir / my \ dir" e todas as combinações acima, mas sem sorte

    
por Mahesh S 28.11.2013 / 07:46

1 resposta

1

Você precisa colocar essa parte entre os "s. Então, isso seria

"app://nautilus /home/user/dir/my dir/"

Esse é um método comum ao lidar com espaços e parâmetros.

Alternativa: o html usa a codificação de url. Um espaço então se tornaria um %20 :

app://nautilus%20/home/user/dir/my%20dir/
    
por Rinzwind 28.11.2013 / 08:43