Jake uvozovky v commandu smbclienta?

Roman Mraz roman.mraz na lim.cz
Pátek Leden 25 17:59:53 CET 2008



Marian Cavojsky napsal(a):
> On Fri, Jan 25, 2008 at 02:35:06PM +0100, Roman Mraz wrote:
>   
>> Vystup z echo $CMD je samozrejme 'prompt off; mget *_Friday.*'
>>
>> Rozdil mezi jednoduchymi a dvojitymi uvozovkami chapu.
>>
>> Vystup z echo smbclient //192.168.1.2/c -A `dirname $0`/server.auth -D 
>> $INIT_DIR -c $CMD -d 3 je, jak jinak:
>> smbclient //192.168.1.2/c -A ./scripts/server.auth -D Backups -c 'prompt 
>> on; mget *_Friday.*' -d 3
>>
>> No a tady je prave ten problem, ze to co echo vypise je spravne, ale 
>> zadne kopirovani se nekona.
>> Pokud to vsak napisu na jeden radek, tzn. smbclient //192.168.1.2/c -A 
>> `dirname $0`/server.auth -D $INIT_DIR -c "prompt off; mget *_$(date 
>> +%A).*", tak je to OK.
>>     
>
> Mam pocit, ze zjavne nechapete, kedy sa co spracovava.
>   
To mate pravdu. Proto taky resim takovyhle problem.
> Ked sa uvodzovky (jednoduche, alebo dvojite) dostanu do retazca, tak uz
> ich shell nepsracovava, jedine, ze by ste pouzili 'eval'.
>
>   
To je jasne.
> Na to aby ste zabezpecili, ze sa vykona v smbclient sada prikazov,
> tak treba ulozit do premennej tie prikazy a ouvodzovkovat ich az ked sa
> predavaju ako argument pre prikaz (tie uvodzovky tam nie su pre
> smbclient, ale pre shell aby predal cely retazec ako jeden argument.)
>
> CMD="prompt off; mget *_$(date +%A).*"
> smbclient //192.168.1.2/c -A `dirname $0`/server.auth -D $INIT_DIR -c "${CMD}"
>
>
> Myslim, ze takto by to mohlo fungovat. :-)
>
>   
Aha, diky, tak uz to chapu. Zas jsem o kousek chytrejsi.

Roman






Další informace o konferenci Linux