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@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@xxxxxxxxxx > 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 _______________________________________________ CentOS mailing list CentOS@xxxxxxxxxx http://lists.centos.org/mailman/listinfo/centos