10-20-2006
Need help : KSH>BASH
Hello,
I've written a script in KSH, but now it needs to run on a system without KSH, ie sh or bash etc, bash seems best bet, but the simplest of things don't seem to work..
The snippet below is the main issue, basically I'm reading from a dat file and putting fields into arrays..
Dat file example (vm.dat):
132.146.23.111:apitest1:/home/vmware/apitest1/apitest.vmx
132.146.23.112:apitest2:/home/vmware/apitest2/apitest.vmx
132.146.23.113:apitest3:/home/vmware/apitest3/apitest.vmx
132.146.23.114:apitest4:/home/vmware/apitest4/apitest.vmx
Script snippet (runable):
#!/bin/bash
DF=vm.dat
#IFS=":"
count=0
grep -vE "#|^$" ${DF} | awk -F: '{print $1}' | while read F1 F2 F3
do
Filer[$count]=$F1
echo ${Filer[count]} # Debug
Volume[count]=$F2
Config[count]=$F3
(( count +=1 ))
echo $count # Debug
done
#IFS=" "
echo "Filer count = ${Filer[@]} - Count= $count" # Debug
Output example:
132.146.23.111
1
132.146.23.112
2
132.146.23.113
3
132.146.23.114
4
Filer count = - Count= 0
As you can see, it gets read into the vars fine, but seems to forget once out the loop?
I'd expect to see Filer count = 4 - Count= 4#
I suspect I'm being a dumb £"$k somewhere, but to be honest I've never really used BASH but obv. I'm missing something!?
I took the IFS part out just in case that was causing issue , doubt it though!.
Help appreciated...
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi Buddy,
Can any one help me to overcome from the below problem?
#/usr/bin/ksh
typeset -Z dd
dd=1
echo $dd
===========
out put for the above is 01
same script I'm migrating to bash but typeset -Z option is not found in bash, Pls get me the equivalent option in BASH
Thanks in... (1 Reply)
Discussion started by: krishna
1 Replies
2. Shell Programming and Scripting
Hi,
I use AIX (ksh) and Linux (bash) servers. I'm trying to do scripts to will run in both ksh and bash, and most of the time it works. But this time I don't get it in bash (I'm more familar in ksh).
The goal of my script if to read a "config file" (like "ini" file), and make various report.... (2 Replies)
Discussion started by: estienne
2 Replies
3. Shell Programming and Scripting
Hi guys...
I have a ksh shell by default, so when I login to my unix box, all my .profile statements gets executed(including the aliases).
But for some reasons(may be not comfortable using ksh), I would always switch to BASH(in the same session but as a child process) but in the process I am... (16 Replies)
Discussion started by: anduzzi
16 Replies
4. UNIX for Dummies Questions & Answers
Hi,
I am a new bie to unix shell programming. I have specified ksh as the first line in my script but when executed it complains.
*********** Script=test********************
#!/usr/bin/ksh
echo hello
print -p 123
************************************
++++++++ Execution... (7 Replies)
Discussion started by: akhilnagpal
7 Replies
5. Solaris
Hi,
I've a general question regarding shell. I 've seen that every where i worked in production environment people are using ksh .. but i like to use .. bash .. is there any particular reason why hardcore sysadmins use ksh ? (8 Replies)
Discussion started by: fugitive
8 Replies
6. UNIX for Dummies Questions & Answers
I'm a user on a fairly locked down sys V server. By default, I have ksh set as my default shell. I added to my .profile:
bash -o vi
so when I login, it goes into bash so I can take advantage of tab completion and use the up key to bring up previous commands. However, whenever I want to exit, I... (2 Replies)
Discussion started by: mrwatkin
2 Replies
7. Shell Programming and Scripting
what is diff between KSH and Bash can you tell me some commands which run in either of two but not in both.
while doing normal shell programming I am unable to find diffrence between two (2 Replies)
Discussion started by: pasricha.kunal
2 Replies
8. Shell Programming and Scripting
I have a script in KSH and now need to incorporate this into another script which is in BASH. OUr script contains code like below in good number of places.
Eg: echo “A B C” | read VAR1 VAR2 VAR3
This works only in ksh and not in BASH. Please let me know
1. Which is the equivalent... (3 Replies)
Discussion started by: cvsanthosh
3 Replies
9. Shell Programming and Scripting
Hi all
Below code works in bash but it is not working in ksh.
enddate=`date -d "$enddate + $i day" "+%Y_%m_%d"`
Please help me how it works in ksh
Thanks (10 Replies)
Discussion started by: pmreddy
10 Replies
10. Shell Programming and Scripting
Hello,
I want to run a script written in ksh but my default shell is bash as root e.g in the script it has #!/bin/ksh
i have gone into /etc/passwd to change it from :/bin/bash to /bin/ksh
but still giving me an error when running scripts such as ./installer
-bash: ./installer: /bin/ksh:... (3 Replies)
Discussion started by: DOkuwa
3 Replies
LEARN ABOUT MOJAVE
isalnum
ISALNUM(3) BSD Library Functions Manual ISALNUM(3)
NAME
isalnum -- alphanumeric character test
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <ctype.h>
int
isalnum(int c);
DESCRIPTION
The isalnum() function tests for any character for which isalpha(3) or isdigit(3) is true. The value of the argument must be representable
as an unsigned char or the value of EOF.
In the ASCII character set, this includes the following characters (preceded by their numeric values, in octal):
060 ``0'' 061 ``1'' 062 ``2'' 063 ``3'' 064 ``4''
065 ``5'' 066 ``6'' 067 ``7'' 070 ``8'' 071 ``9''
101 ``A'' 102 ``B'' 103 ``C'' 104 ``D'' 105 ``E''
106 ``F'' 107 ``G'' 110 ``H'' 111 ``I'' 112 ``J''
113 ``K'' 114 ``L'' 115 ``M'' 116 ``N'' 117 ``O''
120 ``P'' 121 ``Q'' 122 ``R'' 123 ``S'' 124 ``T''
125 ``U'' 126 ``V'' 127 ``W'' 130 ``X'' 131 ``Y''
132 ``Z'' 141 ``a'' 142 ``b'' 143 ``c'' 144 ``d''
145 ``e'' 146 ``f'' 147 ``g'' 150 ``h'' 151 ``i''
152 ``j'' 153 ``k'' 154 ``l'' 155 ``m'' 156 ``n''
157 ``o'' 160 ``p'' 161 ``q'' 162 ``r'' 163 ``s''
164 ``t'' 165 ``u'' 166 ``v'' 167 ``w'' 170 ``x''
171 ``y'' 172 ``z''
RETURN VALUES
The isalnum() function returns zero if the character tests false and returns non-zero if the character tests true.
COMPATIBILITY
The 4.4BSD extension of accepting arguments outside of the range of the unsigned char type in locales with large character sets is considered
obsolete and may not be supported in future releases. The iswalnum() function should be used instead.
SEE ALSO
ctype(3), isalnum_l(3), isalpha(3), isdigit(3), iswalnum(3), ascii(7)
STANDARDS
The isalnum() function conforms to ISO/IEC 9899:1990 (``ISO C90'').
BSD
July 17, 2005 BSD