Chris Geldenhuis wrote: > 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 Yes, you are right. I totally forgot about that. Another way is "bash -x <script name>" to set it to debug mode without editing it. Ljubomir