Por que o wget ainda está falhando mesmo depois de colocar o URL entre aspas duplas?

0

Eu coloco os URLs que eu quero em wget com "" , pois a maioria deles tem espaços, chaves etc. Geralmente funciona bem, mas não consigo fazer esse URL funcionar:

wget "http://xxxx/Sankarea - 6 - It's Because I... Ran Into You (720p-100MB)[Commie][Daylighter].mkv"

gera

-bash: command substitution: line 1: syntax error near unexpected token '('
-bash: command substitution: line 1: 's Because I... Ran Into You (720p-100MB)[Commie][Daylighter].mkv" 

O que isso significa? Existe algum truque para resolver isso?

    
por The Wolf 14.03.2015 / 07:26

2 respostas

1

Experimente aspas simples:

wget 'http://xxxx/Sankarea - 6 - It's Because I... Ran Into You (720p-100MB)[Commie][Daylighter].mkv'

e se você tivesse uma única citação na própria URL, divida a URL em duas strings e insira a aspa simples com uma barra invertida: '...'\''....' ou usando aspas duplas: '...'"'"'....' . Não deixe espaços entre essas strings.

$ echo 'Haru'\''s Death'
Haru's Death
$ echo 'Haru'"'"'s Death'
Haru's Death

Nenhum caractere é interpretado entre aspas simples, nem mesmo a barra invertida (portanto, você não pode fazer echo 'Haru\'s Death' , que obterá o prompt PS2 (normalmente > )

    
por 14.03.2015 / 07:49
0

Para completar, dentro de "..." você pode desabilitar com barra invertida os caracteres que o shell ainda obedece; elas são barras invertidas em si \ doublequote " dollar $ backtick 'e (se o shell suportar a expansão de histórico e não estiver desativado) bang ! . Mas (eu concordo) a única abordagem de citação é provavelmente melhor aqui.

    
por 14.03.2015 / 09:37