[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: