The UNIX and Linux Forums  


Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #3 (permalink)  
Old 03-04-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,131
There is another problem that needs to be addressed now, and that is code like:
for ((y=0; y<=${#fName[*]}; y++))
You don't say which version of Solaris you are using. As of Solaris 9, /bin/ksh is based on ksh88 and it does not support the arithmetic for statement.

You could just change that to a arithmetic while. This means moving the "y=0" to just before the loop and embedding ((y=y+1)) inside the loop. (no y++ either) This is what I would do.

There is a second option. Solaris comes with dtksh which is in /usr/dt/bin/dtksh. You could switch to that. dtksh is based on ksh93 and it has the more advanced arithemetic constructs. It is heavily extended from ksh since you can write x clients in dtksh. This slows it down somewhat.

But you need to do something here. You are trying to run ksh93 code on a ksh88 intrepreter.