transmitindo nome do arquivo com espaços para um script de shell [duplicado]

3

O shellscript é muito simples:

retroarch $* -c /tmp/retroarch/Data/retroarch/gambatte.cfg

("retroarch" é outro shellscript)

Se o nome do arquivo transmitido contiver espaços, ele falhará:

RetroArch [ERROR] :: Could not read ROM file.
    
por eadmaster 29.06.2013 / 00:18

2 respostas

5

Use aspas.

Em vez de

yourcommand some file.name

use

yourcommand "some file.name"

Ao usar variáveis, cite-as também.

yourcommand "$filename"
yourcommand "$@"
...
    
por 29.06.2013 / 00:21
-1

Em geral, você tem que escapar dos espaços com barras invertidas () ou encapsular o caminho entre aspas simples (') ou aspas duplas (").

$ retroarch "$*" -c /tmp/retroarch/Data/retroarch/gambatte.cfg
    
por 29.06.2013 / 00:27

Tags