In ksh


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting In ksh
# 1  
Old 02-19-2015
In ksh

In Kshell
I have

Code:
 names1="cdb1 cdb2 cdb3"
 names2="pdb1 pdb2 pdb3"
 for names in $names1
 do
   export $DB=$name
   export $PDB=pdb1 ------------How to achieve this?

For cdb1, the corresponding is pdb1
for cdb2 --> pdb2
for cdb3 --->pdb3 and then some processing in the for loop which I am able to .

Pls help me how to include the above logic in the script.

Thank you.

Last edited by Scrutinizer; 02-19-2015 at 12:07 PM.. Reason: code tags
# 2  
Old 02-19-2015
Using set/shift will work:
Code:
names1="cdb1 cdb2 cdb3"
names2="pdb1 pdb2 pdb3"

set $names2
for name in $names1; do
   export DB=$name
   export PDB=$1
   shift
   echo "$DB:$PDB"
done

This User Gave Thanks to Walter Misar For This Post:
# 3  
Old 02-19-2015
Using arrays:

Code:
names1=(cdb1 cdb2 cdb3)
names2=(pdb1 pdb2 pdb3)

for ((i=0; i<${#names1[@]}; i++)) 
do
   export DB=${names1[i]}
   export PDB=${names2[i]}
   printf "%s\n" "$DB:$PDB"
done

# 4  
Old 02-19-2015
Thanks Walter. It worked fine.

Scrutinizer,

I tried use the for loop you suggested but I am getting error:-
Code:
 declare -a names1=(cdb1 cdb2 cdb3)
declare -a names2=(pdb1 pdb2 pdb3)
  
 `(' unexpected

either I use declare key word or not I am getting this error.

Let me know what's wrong I am doing. Also can you please explain in words for {#names1[@]};, # and @. So that it helps my future scripting.

Thanks again.

Last edited by rbatte1; 02-19-2015 at 01:48 PM.. Reason: Added CODE tags
# 5  
Old 02-19-2015
Why are you using "declare"?
That is not Kornshell (ksh) syntax.

An alternative syntax is:
Code:
set -A names1 cdb1 cdb2 cdb3
set -A names2 pdb1 pdb2 pdb3

${#names1[@]} means the number of elements in array name1

Last edited by Scrutinizer; 02-19-2015 at 01:11 PM..
# 6  
Old 02-19-2015
Code:
for((i=0; i<${#names[@]}; i++));do

getting
Code:
unexpected (

I tried
Code:
 for((i=0; i<${#INSTNAMES[@]}; i++))
 do

still getting
Code:
 unexpected (

tried
Code:
 for (i=0; i<${#INSTNAMES[@]}; i++)
 do

tried
Code:
for  ((i=0; i<${#INSTNAMES[@]}; i++))

all the cases getting error msg
Code:
( unexpected


Last edited by rbatte1; 02-19-2015 at 01:46 PM.. Reason: Added CODE tags for code, and errors
# 7  
Old 02-19-2015
OK, I guess I forgot some of the limitations of ksh88

Try:
Code:
set -A names1 cdb1 cdb2 cdb3
set -A names2 pdb1 pdb2 pdb3

i=0
while [[ $i -lt ${#names1[@]} ]]
do
   export DB=${names1[i]}
   export PDB=${names2[i]}
   printf "%s\n" "$DB:$PDB"
   i=$((i+1))
done

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

ksh

Hi Dears kindly I am new here ...I want to ask your help ... I want to write AWK command when enter date like 20140129 plus 9 then it gives me 20140207 I wrote below but the result was wrong #!/bin/ksh echo "please input the data:" read a if echo $a|awk '{if... (15 Replies)
Discussion started by: shaho87
15 Replies

2. Shell Programming and Scripting

ksh help

Hi, I have command like this with ooutput : unix>tnsping abc TNS Ping Utility for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production on 17-AUG-2011 17:06:11 Copyright (c) 1997, 2007, Oracle. All rights reserved. Used parameter files: /opt/oracle/network/admin/sqlnet.ora ... (19 Replies)
Discussion started by: talashil
19 Replies

3. Shell Programming and Scripting

different behaviour for ksh and ksh -x

I'm getting different behaviour when executing below script in debug option. $ cat ss.ksh ff=$(pwd) echo " ff : $ff" $ ksh ss.ksh ff : /tmp $ ksh -x ss.ksh + + pwd ff= + echo ff : ff : I was getting this behaviour in my actuall script i'm able to reproduce this in simple script... (4 Replies)
Discussion started by: luckybalaji
4 Replies

4. UNIX for Dummies Questions & Answers

Difference Between executing llike ./myscript.ksh and . ./myscript.ksh

Hi , What is the diffence between executing the script like ./myscript.ksh . ./myscript.ksh I have found 2 difference but could not find the reason 1. If i export a variable in myscript.ksh and execute it like . ./myscript.ksh the i can access the other scripts that are present in... (5 Replies)
Discussion started by: max_hammer
5 Replies

5. Shell Programming and Scripting

KSH script to run other ksh scripts and output it to a file and/or email

Hi I am new to this Scripting process and would like to know How can i write a ksh script that will call other ksh scripts and write the output to a file and/or email. For example ------- Script ABC ------- a.ksh b.ksh c.ksh I need to call all three scripts execute them and... (2 Replies)
Discussion started by: pacifican
2 Replies

6. Shell Programming and Scripting

Need help on ksh

1. Script using bash #!/bin/bash a=4294967296 (( b=$a / 2 )) echo "$a" echo "$b" *** output *** 4294967296 2147483648 2. Script using ksh #!/bin/ksh a=4294967296 (( b=$a / 2 )) echo "$a" echo "$b" *** output *** 4294967296 (3 Replies)
Discussion started by: gautam.shrestha
3 Replies

7. Shell Programming and Scripting

Help with KSH

Hi, I need some help with the Ksh scripting.... I have a Script call Mail.ksh which calls Crank.ksh which calls Readdates.ksh whoch calls mindiff.ksh the output of mindiff.ksh and Readdates.ksh are wirtten to a text file... Here is how each file is called or executed... ./Mail.ksh 30... (3 Replies)
Discussion started by: bhagya2340
3 Replies

8. Shell Programming and Scripting

import var and function from ksh script to another ksh script

Ih all, i have multiples ksh scripts for crontab's unix jobs they all have same variables declarations and some similar functions i would have a only single script file to declare my variables, like: var1= "aaa" var2= "bbb" var3= "ccc" ... function ab { ...} function bc { ... }... (2 Replies)
Discussion started by: wolfhurt
2 Replies

9. Shell Programming and Scripting

tracing a ksh script within a ksh script

I normally trace a script with the ksh -x <script name> and redirect strderr to file. But if you have a script like the examble below...... vi hairy bear=`grep bear animals` if then ksh more_animals fi If I ksh -x hairy it won't trace "more_animals" unless I put a -x in it. Is... (1 Reply)
Discussion started by: shorty
1 Replies

10. Shell Programming and Scripting

executing a ksh script from another ksh script

Hi, I'm new to unix scripting.How can i call a script from another script. I have a.ksh and b.ksh .I have to call b.ksh from a.ksh after it is successfully exceuted. I tried using #!/bin/ksh -x in a.ksh and at the end i have used /path/b.ksh My problem is it is executing only a.ksh.it... (6 Replies)
Discussion started by: ammu
6 Replies
Login or Register to Ask a Question