Jake uvozovky v commandu smbclienta?

Roman Mraz roman.mraz na lim.cz
Pátek Leden 25 14:35:06 CET 2008



Matej Cepl napsal(a):
> On 2008-01-24, 22:51 GMT, Roman Mraz wrote:
>   
>> CMD="'prompt off; mget *_`date +%A`.*'"
>>     
>
> Vražte sem
>
> echo $CMD
> exit 0
>
> a pak si pořádně přečtete manpage. Zejména studium co udělají 
> apostrofy by mohlo pomoci.
>
> Jaký je rozdíl mezi
>
> STRING="muj string"
> echo "$STRING"
> echo '$STRING'
>
> ???
>
> K čemu je dobrý tyhle uvozovky kombinovat nechápu (hint, 
> k ničemu; schválně které převáží?).
>
> Kromě toho nikdy nepoužívejte backticks `` v bashi, ale místo 
> nich používejte $(), např.
>
> echo $(date)
>
> místo
>
> echo `date`
>
> Zachrání to hodně smutku.
>
>   
Diky za upozorneni, uz jsem si precetl jaky je rozdil. Doposud jsem to 
bral jen jako ekvivalentni zapis.

>> smbclient //192.168.1.2/c -A `dirname $0`/server.auth -D $INIT_DIR -c 
>> $CMD -d 3
>>
>> Uz jsem rezignoval na metodu pokus-omyl, ale ani tak jsem nemel uspech.
>> V tech debug informacich se momentalne dozvidam, ze: 'prompt: command 
>> not found
>>     
>
> Až provedete cvičení z předchozího odstavce, projděte si opravdu 
> podrobně, co vlastně kam strkáte. Mimochodem,
>
> echo smbclient //192.168.1.2/c -A `dirname $0`/server.auth \
>     -D $INIT_DIR -c $CMD -d 3
>
> je standardní technika jak zjistit, co se děje.
>
> Matěj
>
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux
>   

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.

Roman






Další informace o konferenci Linux