sql - if and while statements in unix -
can please me understanding below script "typeset" part in script , while , if statements doing in script:
# set effective dates tasks set -a edate `sqlplus -s / << endsql set pages 0 feed off set timing off alter session set nls_date_format='dd-mm-yyyy'; select sysdate + 42, sysdate + 51, sysdate + 50 dual; endsql` # check effective dates set # ${edate[0]} = sysdate + 42 tasks normalised # ${edate[1]} = sysdate + 51 tasks subtotal, subtotal_rat # ${edate[2]} = sysdate + 50 tasks normalised_ev,charge typeset -i c=0 while [[ $c -lt 3 ]] ; if [[ -z "${edate[c]}" ]] ; echo "failed set rotate partition tasks effective date! please check." sms "${sv_sl}" "failed set rotate partition tasks effective date. please check." exit -1 fi let c+=1 done
in first line you've used builtins used permit modifying properties of variables. can use 'declare' well. both equal.
in if statement line you've included semicolon ; isn't required @ place. right if..else syntax in unix following given. same while loop also, remove semicolon
if..else statement
x=5 y=20 if [ $x == $y ] echo "x equal y" else echo "x not equal y" fi above code's output: x not equal y
for while loop
a=0 while [ $u -lt 5 ] echo $u a=`expr $u + 1` done above code's output: 0 1 2 3 4
-lt 5 indicates limits 5 while loop.
also -z option used in if condition variable or string null. i.e.
$ip=""; $[-n "$ip"] && echo "ip not null" $[-z "$fip"] && echo "ip null" above code's output: ip null.
Comments
Post a Comment