Olá!
O bash não suporta passagem de "parâmetros complexos"? Ou é necessário alguma gambiarra para que funcione?
Vamos a um exemplo simples:
Código :musik="-a $ART \"`sed -n 1p $o_file`\"" id3v2 $musik
O programa id3v2 acusa não achar o arquivo que, no caso, seria a primeira linha do arquivo $o_file. Acontece que em:
Código :musik="-a $ART \"`sed -n 1p $o_file`\"" echo id3v2 $musik
Se eu digitar a saída desse script, o comando funciona normalmente.
O script que constatei o erro é o seguinte:
Código :#!/bin/bash DIR=/mnt/audio o_file=/home/caio/id3.txt ART="$1" ERE=$PWD cd $DIR ls $ART* > $o_file linhas=`wc -l $o_file | awk '{ print $1 }'` num=1 while [ "$num" -le "$linhas" ] do comm=$num"p" musik="-a $ART \"`sed -n $comm $o_file`\"" echo id3v2 $musik num=`expr $num + 1` done cd $ERE
Está bem simples e não-polido, não critiquem meu scripting =]
Usando-o:
Código :$ sh id3edit.sh Gram Coudn't stat file file '"Gram'
A possibilidade de ser erro do programa é descartada, pois, como dito, o uso defunciona normalmente.Código :id3v2 -a Gram "Musica-Do-Gram.mp3"
Enfim, alguém sabe se esse é o funcionamento normal do bash (b0000rked) e/ou se tem como contornar isso?
PS> Depois devo escrever o script em Python, aí confirmo se é, de fato, característico (?) do bash.