[CentOS] virtdown script

Chris Geldenhuis chris.gelden at iafrica.com
Tue May 3 19:11:29 UTC 2011


Ljubomir Ljubojevic wrote:
> Tim Dunphy wrote:
>   
>> hello list!
>>
>> I have a small shell script that I wrote that is meant to quickly bring down all of my xen instances in a quick and easy manner. Odd thing is, it does work on the command line. But if I put it into a script this happens:
>>
>>
>> [root at LCENT03:/home/bluethundr/bin] #virtdown
>>
>> it expects another command to happen. which is odd since all of the text delimiters (" and ') are balanced according to vim. I was wondering if I could have an opinion on why this might be happening. Here's the script:
>>
>>
>>
>> #/bin/bash
>>
>> for i in $(virsh list | grep -v -e Id -e --- -e Domain-0 | awk '{print $1}');
>> do
>> /usr/bin/virsh shutdown $i
>> done
>>
>>
>> thanks in advance!
>> tim
>>     
>
> Last thing I saw is "#/bin/bash" instead of "#!/bin/bash". Fix and try.
>
> The rest of suggestions:
> Add plenty of unique "echo" lines so you can see where it brakes.
>
> Also try $(`virsh list | grep -v -e Id -e --- -e Domain-0 | awk '{print 
> $1}'`)
>
> and try sending that same part to variable first and echo the variable 
> so you can see output.
>
>
> #!/bin/bash
>
> list=$(virsh list | grep -v -e Id -e --- -e Domain-0 | awk '{print $1}')
> echo "the list is=$list"; sleep 2
> for i in "$list";
> do
>     echo "Running shutdown for item $i"; sleep 2
>     /usr/bin/virsh shutdown $i
>     echo " shutdown for item $i is complete"; sleep 2
> done
>
> and try version with:
> list=$(`virsh list | grep -v -e Id -e --- -e Domain-0 | awk '{print $1}'`)
>
> Ljubomir
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>
>   
In cases like this it is also useful to put in a line "set -x" early on 
in the script. It will then output every stage as it parses each command 
allowing you to see where the resulys are not as expected.

ChrisG



More information about the CentOS mailing list