Sponsored Content
Top Forums Shell Programming and Scripting Null Handling in Until loop. . .loop won't stop Post 302374481 by brandono66 on Tuesday 24th of November 2009 03:12:34 PM
Old 11-24-2009
Power Null Handling in Until loop. . .loop won't stop

Hi Im running this script, which is supposed to find the max value build some tables and then stop running once all the tables are built. Thing is , it keeps assigning a null value to $h and then $g is null so it keep building tables i.e. testupdateNUL. How can I stop this? Here is what I have:

Code:
j=`/usr/local/mysql/bin/mysql --skip-column-names $US $PW $DB -e "select count(*) from loyalmarkets" ;`
echo $j
limit=$j
var=0
until ((limit=var)); do
h=`/usr/local/mysql/bin/mysql --skip-column-names $US $PW $DB -e "select max(orgunit1) from loyalmarkets where orgunit1 !=' ';"`
echo $h
g=`echo $h | cut -c1-3`
echo loyaltest$g
end=`date +%F`
limit=$j
var=0
until ((limit=var)); do
h=`/usr/local/mysql/bin/mysql --skip-column-names $US $PW $DB -e "select max(orgunit1) from loyalmarkets where orgunit1 !=' ';"`
echo $h
g=`echo $h | cut -c1-3`
echo loyaltest$g
end=`date +%F`
echo $end
/usr/local/mysql/bin/mysql --skip-column-names $US $PW $DB -e "drop table if exists testupdate$g; create table testupdate$g type=myisam as select store_name, account_id, local_request_date, order_id, svat
ran_type_id, amount, promo_program_id from request_detail rd force index(local_request_date)join store s on rd.store_id = s.store_id and orgunit1 = '$h' where rd.local_request_date >= '$end' - interval 1 day andrd.local_request_date < '$end' and currency_type_id = 2 and svatran_type_id in (2,4,6) limit 10; delete from loyalmarkets where orgunit1 = '$h';"
done


Last edited by pludi; 11-24-2009 at 04:27 PM.. Reason: code tags, please...
 

10 More Discussions You Might Find Interesting

1. Programming

how to stop execution in for loop

Hi all, I am working on a c source code nearly 2000 line . it contains one big for( i=0; i< 200 ; i++ ) loop of around 600 lines could any tell me how to break the execution of prog when the value of i is 50 in for loop so that i can check inside the loop. Thanks.. (1 Reply)
Discussion started by: useless79
1 Replies

2. UNIX for Dummies Questions & Answers

Anyone know?: How the 'for'-loop could stop working in interactive bash shell?!

It is happening with my sessions already second time: a 'for'-loop for some reason stop to work as expected. That means or it is looping without exitting, or it is not loop even once. Here example of my try when it is not processing even one loop. You can see, I start new subshell and... (14 Replies)
Discussion started by: alex_5161
14 Replies

3. Shell Programming and Scripting

String handling is not working inside if loop

Hi All, I am comparing two strings inside an if condition if the strings are same then it should go inside the loop else it should execute code given in else part. But there is a but inside my script Even if the if condition is true it is not going inside the loop also it is executing... (4 Replies)
Discussion started by: usha rao
4 Replies

4. Shell Programming and Scripting

Using variables created sequentially in a loop while still inside of the loop [bash]

I'm trying to understand if it's possible to create a set of variables that are numbered based on another variable (using eval) in a loop, and then call on it before the loop ends. As an example I've written a script called question (The fist command is to show what is the contents of the... (2 Replies)
Discussion started by: DeCoTwc
2 Replies

5. Shell Programming and Scripting

Basic While loop won't exit...

Hi everyone - just like to say great forum...I've learned a lot off here but I just can't figure this one out...(first post) I'm writing a script to monitor a directory and email the latest modified file....(I realize there are better ways than I'm trying here...I don't like copying and pasting... (5 Replies)
Discussion started by: trevthefatty
5 Replies

6. Shell Programming and Scripting

howto stop loop iteration

I wonder how to stop further loop iterations when conditions gets false e.g. This file.txt contains the following structure : 1 2 3 4 5 6 7 8 9 10 How to stop iteration when if statement gets false ? for n in `cat file.txt` do if (( n<=5 )) (1 Reply)
Discussion started by: presul
1 Replies

7. Shell Programming and Scripting

Loop to read parameters and stop

Hey guys, How do I make a loop that reads all the parameters en then stop when there are no parameters anymore ? Something that gives an output like this: ./Script.sh parameter1 parameter2 parameter3 parameter = parameter1 parameter = parameter2 parameter = parameter3 Thanks a lot,... (5 Replies)
Discussion started by: Miki1579
5 Replies

8. Shell Programming and Scripting

problem handling lov in FOR loop

Hi all, i am trying to process a list of values in FILE like this: aaa:bbb ccc:ddd eee:fff With the following logic: for INFO in FILE do export F1=`cut -f1,3,5,7 -d":" < FILE` export F2=`cut -f2,3,5,7 -d":" < FILE` ssh $F1 bash <<EOF echo $F1 echo $F2 date (10 Replies)
Discussion started by: jonnyd
10 Replies

9. Shell Programming and Scripting

How to stop infinite loop

Im unable to stop the below infinite loop (bash script). Can someone tell me why this isnt responding to signals eg: ctrl+c (SIGINT) or ctrl+z c=0 test_loop() { c=$(($c+1)) echo "count value is : $c " sleep 1 test_loop } Im using: SunOS 5.10 PS: If run this as... (13 Replies)
Discussion started by: Arun_Linux
13 Replies

10. Shell Programming and Scripting

awk loop using array:wish to store array values from loop for use outside loop

Here's my code: awk -F '' 'NR==FNR { if (/time/ && $5>10) A=$2" "$3":"$4":"($5-01) else if (/time/ && $5<01) A=$2" "$3":"$4-01":"(59-$5) else if (/time/ && $5<=10) A=$2" "$3":"$4":0"($5-01) else if (/close/) { B=0 n1=n2; ... (2 Replies)
Discussion started by: klane
2 Replies
MYSQLDIFF(1p)						User Contributed Perl Documentation					     MYSQLDIFF(1p)

NAME
mysql-schema-diff - compare MySQL database schemas SYNOPSIS
mysql-schema-diff [B<options>] B<database1> B<database2> mysql-schema-diff --help DESCRIPTION
mysql-schema-diff is a Perl script front-end to the CPAN <http://www.perl.com/CPAN> module MySQL::Diff <http://search.cpan.org/search?module=MySQL::Diff> which compares the data structures (i.e. schema / table definitions) of two MySQL <http://www.mysql.com/> databases, and returns the differences as a sequence of MySQL commands suitable for piping into mysql which will transform the structure of the first database to be identical to that of the second (c.f. diff and patch). Database structures can be compared whether they are files containing table definitions or existing databases, local or remote. N.B. The program makes no attempt to compare any of the data which may be stored in the databases. It is purely for comparing the table definitions. I have no plans to implement data comparison; it is a complex problem and I have no need of such functionality anyway. However there is another program coldiff <http://rossbeyer.net/software/mysql_coldiff/> which does this, and is based on an older program called datadiff which seems to have vanished off the 'net. For PostgreSQL there are similar tools such as pgdiff <http://pgdiff.sourceforge.net/> and apgdiff <http://apgdiff.startnet.biz/>. EXAMPLES
# compare table definitions in two files mysql-schema-diff db1.mysql db2.mysql # compare table definitions in a file 'db1.mysql' with a database 'db2' mysql-schema-diff db1.mysql db2 # interactively upgrade schema of database 'db1' to be like the # schema described in the file 'db2.mysql' mysql-schema-diff -A db1 db2.mysql # compare table definitions in two databases on a remote machine mysql-schema-diff --host=remote.host.com --user=myaccount db1 db2 # compare table definitions in a local database 'foo' with a # database 'bar' on a remote machine, when a file foo already # exists in the current directory mysql-schema-diff --host2=remote.host.com --password=secret db:foo bar OPTIONS
More details to come; for now run "mysql-schema-diff --help". INTERNALS
For both of the database structures being compared, the following happens: o If the argument is a valid filename, the file is used to create a temporary database which "mysqldump -d" is run on to obtain the table definitions in canonicalised form. The temporary database is then dropped. (The temporary database is named "test_mysqldiff_temp_something" because default MySQL permissions allow anyone to create databases beginning with the prefix "test_".) o If the argument is a database, "mysqldump -d" is run directly on it. o Where authentication is required, the hostname, username, and password given by the corresponding options are used (type "mysql-schema-diff --help" for more information). o Each set of table definitions is now parsed into tables, and fields and index keys within those tables; these are compared, and the differences outputted in the form of MySQL statements. BUGS, DEVELOPMENT, CONTRIBUTING See <http://software.adamspiers.org/wiki/mysqldiff>. COPYRIGHT AND LICENSE
Copyright (c) 2000-2011 Adam Spiers. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
MySQL::Diff, MySQL::Diff::Database, MySQL::Diff::Table, MySQL::Diff::Utils, mysql, mysqldump, mysqlshow AUTHOR
Adam Spiers <mysqldiff@adamspiers.org> perl v5.14.2 2012-04-06 MYSQLDIFF(1p)
All times are GMT -4. The time now is 12:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy