Sponsored Content
Operating Systems Solaris Solaris scripting problem with ksh88 Post 302917291 by MadeInGermany on Monday 15th of September 2014 06:09:04 PM
Old 09-15-2014
Quote:
Originally Posted by gfroute
It works properly if I run the commands manually or if I put the commands in a file:
Code:
./test.ksh
9
31
25
38
72
91
81
52
51

If I add "#!/bin/ksh" at the beginning of my script, I get this error:
Code:
./test.ksh
./test.ksh[5]: ++I < 10: bad number

Here's the inside of the script
Code:
#!/bin/ksh
MATRICE="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@;:[].{}+=<>#|()^&_0123456789"
unset I
PWLEN=10
while ((++I < $PWLEN)); do echo $((RANDOM%${#MATRICE})); done

ksh88 does not have the full implementation of (( )).
You can rewrite the bash-3/ksh93 style
Code:
I=0; while ((++I < PWLEN)); do echo $I; done

like this
Code:
I=1; while ((I < PWLEN)); do echo $I; ((I=I+1)); done

---------- Post updated at 05:09 PM ---------- Previous update was at 04:40 PM ----------

Quote:
Originally Posted by gfroute
Hello,

I want to pick a random element from a list, and created these 2 lines, which work very well in ksh93. Unfortunately, I get this "bad substitution" message in ksh88.

I'm wondering if there's an equivalent to the second line of my script.. or if I have to install ksh93 to make this work.

Here are my lines:

Code:
MATRICE="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@;:[].{}+=<>#|()^&_0123456789"

PASSWD="${MATRICE:$(($RANDOM%${#MATRICE})):1}"

Thanks in advance
A straight translation:
Code:
PASSWD=`expr "$MATRICE" : ".\{$(($RANDOM%${#MATRICE}))\}\(.\)"`

Expert question: why can the ` ` not be a $(( ))?
 

10 More Discussions You Might Find Interesting

1. Solaris

Problem in for loop of shell scripting in solaris

Hi below is my script for((i=0;i<=$TOTAL;i++)) do echo "IP's created are $s1.$s2.$s3.$s4" s4=`expr $s4 + 1` done where s1,2,3,4 are input varibles below error occurs while running the script syntax error at lin 11: '(' unexpected ... (12 Replies)
Discussion started by: krevathi1912
12 Replies

2. Shell Programming and Scripting

ksh88 - curses

I was wondering if there is anyway to use the curses library with ksh88. I saw Shell Curses function library which says I can use /usr/local/functions/shellcurses on ksh93 but I am on ksh88. I am on a HP-UX box. (0 Replies)
Discussion started by: IMTheNachoMan
0 Replies

3. Shell Programming and Scripting

ksh88 or ksh93

Hi all! Does anybody know how can I check if any UNIX installation has implemented ksh88 or ksh93? Thanks in advance. Néstor. (3 Replies)
Discussion started by: Nestor
3 Replies

4. Shell Programming and Scripting

Substring in ksh88 ?

Hello, ksh88 doesn't support ${var:x:y}. Any alternatives to get substring ? thanks Vilius (2 Replies)
Discussion started by: vilius
2 Replies

5. Shell Programming and Scripting

Download AT&T ksh88 ?

Hello, I need ksh88 for my linux system - and I don't want pdksh. Possible to get original ksh 88 binaries or source ? (I don't need ksh93 which is available) thanks Vilius (1 Reply)
Discussion started by: vilius
1 Replies

6. Shell Programming and Scripting

namerefs alternative for KSH88

I have to use KSH88, so going to BASH, perl etc. is not an option. Below is a much simplified verison of what I am doing (aka ignore my cut command and i not increasing) :) i=1 BIGSTRING="one two three four five six seven eight" while ]; do typeset "STRING$i=`echo $BIGSTRING| cut -d' '... (8 Replies)
Discussion started by: nitrobass24
8 Replies

7. Shell Programming and Scripting

[ksh88 and awk] Number of fields with a value.

Hi, With: # VALUES="one~two~~~" # echo $VALUES | awk 'BEGIN {FS="~"} {print NF}' 5 I can determine the number of fields. How to determine the number of fields with a value ? In this case 2. Thanks in advance, ejdv (6 Replies)
Discussion started by: ejdv
6 Replies

8. Shell Programming and Scripting

Comparing Strings in ksh88

Hi I tried the following string comparison script in Ksh88 #!/bin/ksh str1='aC' str2='ABC' if then echo "Equal" else echo "Not Equal" fi Though str1 and str2 are not equal the script output says Equal . Please correct me Thanks (2 Replies)
Discussion started by: smile689
2 Replies

9. Shell Programming and Scripting

FTP script in ksh88

Hi I tried the following code to FTP the files from test server to dev #!/bin/ksh DST=/home/files cd $DST ftp -inv 'test_serv101' << EOF quote USER test quote PASS test # File Path on test server cd /etc/home/Or_Files ascii mget curMonth* $DST quit EOF when i try the above code it... (4 Replies)
Discussion started by: smile689
4 Replies

10. OS X (Apple)

FFT for the AMIGA through ksh88 shell.

I don't know if anyone is interested but I have been meddling with FFT for the AMIGA. (Sadly we AMIGAns don't have these luxuries through any scripting language. Below is a Python snippet that uses the builtin 'cmath' module to work with the lowly Python 2.0.1 for the AMIGA. It is part of a... (0 Replies)
Discussion started by: wisecracker
0 Replies
All times are GMT -4. The time now is 10:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy