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 DEBIAN
netapp::filer::version
NetApp::Filer::Version(3pm) User Contributed Perl Documentation NetApp::Filer::Version(3pm)
NAME
NetApp::Filer::Version -- OO Class for representing NetApp Filer versions
SYNOPSIS
use NetApp::Filer;
my $filer = NetApp::Filer->new({ ... });
# The "version" is: NetApp Release 7.2.2: Sat Mar 24 20:38:59 PDT 2007
my $version = $filer->get_version;
# $version->isa("NetApp::Filer::Version")
print $version->get_release, "
";
# prints "7.2.2"
print $version->get_date, "
";
# prints "Sat Mar 24 20:38:59 PDT 2007"
print $version->get_string, "
";
print "$version
";
# Both print the same thing, the second one through operator overloading,
# namely the original, unparsed version string
print $version->get_version, "
";
# prints "v7.2.2"
DESCRIPTION
This class is used to encapsulate the NetApp Filer version string, and provide access to the components of the string as a numeric release,
a perl version, and a date string.
METHODS
get_release
Returns the NetApp numerical release as a string, for example:
7.2.2
get_date
Returns the NetApp release date as a string, for example:
Sat Mar 24 20:38:59 PDT 2007
get_string
Returns the unparsed version string in it's entirety:
NetApp Release 7.2.2: Sat Mar 24 20:38:59 PDT 2007
get_version
Returns the NetApp release as a perl version object.
perl v5.14.2 2008-11-26 NetApp::Filer::Version(3pm)