Re: 7z command works fine on command line but not in script
Just read your last post before sending this, so this may no longer be
relevant... I don't know that you need to quote the variables. I use
coloured bash so it is usually obvious if I need to. P.S. without the
quotes you won't need the escapes - just quote the whole filename (which
may be what you are lacking).
On 19/02/14 20:30, berenger.morel@neutralite.org wrote:
>
>
> Le 19.02.2014 09:53, Scott Ferguson a écrit :
>> On 19/02/14 19:47, berenger.morel@neutralite.org wrote:
>>> Hello.
>>>
>>> I made a script to extract music from a jamendo archive, but for a
>>> reason I do not know, 7z does not accept the command line. I also echoed
>>> it, to be able to know what it tries to run, and it works fine when ran
>>> on command line.
>>>
>>> Here is the script:
>>>
>>> #!/bin/sh
>>>
>>> for i in *.zip;
>>> do
>>> artiste=`echo $i|cut -f1 -d-|sed -e 's/^ *//g' -e 's/ *$//g'`
>>> album=`echo $i|cut -f2 -d-|sed -e 's/^ *//g' -e 's/ *$//g'`
>>> mkdir "$artiste/$album" -p
>>> 7z x \"$i\" -o\"$artiste/$album\" || rmdir "$artiste/$album" -p
>>> echo 7z x \"$i\" -o\"$artiste/$album\"
>>> done
>>>
>>> With, for example, this archive:
>>> http://www.jamendo.com/fr/list/a69778/monument, the folders are
>>> correctly created, but it prints:
>>> Error: Incorrect command line
>>> 7z x "Shearer - Monument - a69778 --- Jamendo - MP3 VBR 192k.zip"
>>> -o"Shearer/Monument"
>>>
>>> Do someone knows what I am doing wrong?
>>>
>>>
>>
>> Maybe passing "-" without a recognised qualifier (after the
>> $artiste/$album\) ??
>>
>> Kind regards
>
> It does not change anything.
>
> I have some "progress", when I do this:
> 7z x "\'$i\'" -o"\'$artiste/$album\'"
> instead of
> 7z x \"$i\" -o\"$artiste/$album\"
7z x $i -o $artiste/$album ?
I'm presuming you mean "in the script" (so the variants are populated).
What happens if you try this from the CLI:-
7z x "Shearer - Monument - a69778 --- Jamendo - MP3 VBR 192k.zip"
I'm also presuming you're running the command in the working directory
(stuff I often overlook).
>
> But the the error become "there is no such archive".
Is it there? i.e.:-
$ ls "Shearer - Monument - a69778 --- Jamendo - MP3 VBR 192k.zip"
I'd also try renaming it:-
$ cp ""Shearer - Monument - a69778 --- Jamendo - MP3 VBR 192k.zip"
"Shearer-Monument-a69778-Jamendo-MP3 VBR 192k.zip"
and then trying again
> I wonder if the
> easier would not be to try another unarchiver...
>
>
unzip? Though 7z is pretty good.
Kind regards.
Reply to: