On 16.12.2009 15:31, Omer Barlas wrote:
> Bahadır MALKOÇ @ 16-12-2009 15:00:
>> #!/bin/bash
>>
>> PATH=$PATH:/bin:/usr/bin
>> # Step 1 Enumerate all VMs on an individual ESX Server, and put each VM
>> in hotbackup mode.
>> for i in `vmware-cmd -l`
>> do
>> vmware-cmd $i createsnapshot backup NetApp 1 0
>> done
> 
> bash komut satırının bu tip durumlar için uyguladığı yöntem değişkeni tırnak 
> içerisine almak, daha kolayı açıkçası yok.
> 
>  > vmware-cmd $i createsnapshot backup NetApp 1 0
> vmware-cmd "$i" createsnapshot backup NetApp 1 0

Sorun burada degil.  OP'nin sorunu for loop'unda i'in her boslukta yeni
deger almasi.

2 cozum yontemi var:

1. for loop'unda i'in boslukda degil her newline'da yeni deger almasini
saglayin:

IFS="   
"
for i in `vmware-cmd -l`
do
[...]

Yukaridaki ilk komut IFS="<tab><newline>"

Daha fazla bilgi icin:
man 1 bash | less +/IFS

2. Backtickleri quote edin:
for i in "`vmware-cmd -l`"
do
[...]

Daha fazla bilgi icin:
man 1 bash | less +/"Command Substitution"

-- 
Eray
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]

Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
okuyabilirsiniz;

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu

Cevap