Sponsored Content
Operating Systems OS X (Apple) Generate a random number in a fully POSIX compliant shell, 'dash'... Post 303043130 by wisecracker on Sunday 19th of January 2020 11:02:39 AM
Old 01-19-2020
Quote:
Originally Posted by MadeInGermany
Better replace all expr with arithmetics by the builtin=faster $(( ))
Code:
    SEED1=$(( ${SEED1} + 1 ))
TEST_VAL=$(( 0${TEST_VAL#??} ))

As the clock is very quickly cycling inside the microsecond part there is always a possibility of these values '00000' to '09999' occurring. These are obviously NOT octal but decimal with leading zeros so......
......I used 'expr' to remove leading zeros otherwise there is a major shell error, thus I can't see how your modification works.
The maths method does not remove those leading zeros...
 

10 More Discussions You Might Find Interesting

1. Programming

How to generate a random number?

How to generate a random integer with specific range(for example, from 1 to 1000)? Also, how to convert a floating point number into a integer? (2 Replies)
Discussion started by: MacMonster
2 Replies

2. Shell Programming and Scripting

generate random number in korn shell

I want to be able to generate a random number within a korn shell script.. Preferably i would like to be able to state how many digits should be in this random number... ie 4 digits or 5 digits etc Any ideas? (2 Replies)
Discussion started by: frustrated1
2 Replies

3. Shell Programming and Scripting

generate random number in perl

Could any one tell how can I generate random number from (0, 100..200) in perl? Thanks! (2 Replies)
Discussion started by: zx1106
2 Replies

4. Programming

Generate random number

I saw this formula to generate random number between two specified values in shell script.the following. $(((RANDOM%(max-min+divisibleBy))/divisibleBy*divisibleBy+min)) Give a example in book. Generate random number between 6 and 30.like this. $(((RANDOM%30/3+1)*3)) But I have a... (1 Reply)
Discussion started by: luoluo
1 Replies

5. Shell Programming and Scripting

Unix random number generate in given range

Hi All, I have extracted some report from database for few activities done. Now I have a requirement to add some random time(In range of 10-35) in front of each activity. Can be generated random numbers in any bash/sh shell within a given number range, let's say in between 10-30. ... (10 Replies)
Discussion started by: gr8_usk
10 Replies

6. Shell Programming and Scripting

Logical expression in POSIX compliant Korn Shell

Hi, i want to check if a variable var1 is not a or b or c pseudo code: If NOT (var1 = a or var1 = b or var1 = c) then ... fi I want to use POSIX complaint Korn shell, and for string comparison For the following code, logical.sh #!/usr/bin/ksh var="j" echo "Var : $var" if ! { || ||... (12 Replies)
Discussion started by: ysrini
12 Replies

7. UNIX for Dummies Questions & Answers

how to generate random number as as the first column of a txt file

Dear all, I have a question. I have a txt file say 4000 rows X 1800 Column. I 'd like to creat a new column as the first column which is a column of random numbers (n=4000) thanks a lot! Lin (2 Replies)
Discussion started by: forevertl
2 Replies

8. Shell Programming and Scripting

Help with generate a pair of random number

Hi, Is anybody experience generate a pair of random number by using awk command? I wanna to generate a pair of random number (range from 1 to 4124) and repeats it 416 times. Desired output 2 326 123 1256 341 14 3245 645 . . . I did write the below command: awk... (5 Replies)
Discussion started by: perl_beginner
5 Replies

9. Shell Programming and Scripting

Generating a POSIX random number?

Hi Guys and gals... As you know I am getting to grips with POSIX and hit this stumbling block. Generating two random numbers 0 to 255 POSIXly. Speed in not important hence the 'sleep 1' command. I have done a demo that works, but it sure is ugly! Is there a better way? #!/bin/sh # Random... (12 Replies)
Discussion started by: wisecracker
12 Replies

10. Shell Programming and Scripting

Q: Is SQRT(n) possible in a POSIX compliant shell? A: Yes within limits.

Hi all... This is just a fun project to see if it is possible to get a square root of a positive integer from 1 to 9200000 to 6 decimal places on a 64 bit architecture machine. It is coded around dash and the results show the values from 0 to 10000. Complex numbers can easily be catered for by... (3 Replies)
Discussion started by: wisecracker
3 Replies
expr(1) 						      General Commands Manual							   expr(1)

Name
       expr - evaluate expressions

Syntax
       expr arg...

Description
       The arguments are taken as an expression.  After evaluation, the result is written on the standard output.  Each token of the expression is
       a separate argument.

       The operators and keywords are listed below.  The list is in order of increasing precedence, with equal precedence operators grouped.

       expr | expr	   Yields the first expr if it is neither null nor 0.  Otherwise yields the second expr.

       expr & expr	   Yields the first expr if neither expr is null or 0.	Otherwise yields 0.

       expr relop expr	   The relop is one of < <= = != >= > and yields 1 if the indicated comparison is true, '0' if false.  The  comparison	is
			   numeric if both expr are integers, otherwise lexicographic.

       expr + expr
	    expr - expr
			   Yields addition or subtraction of the arguments.

       expr * expr
	    expr / expr
	    expr % expr
			   Yields multiplication, division, or remainder of the arguments.

       expr : expr	   The	matching  operator compares the string first argument with the regular expression second argument; regular expres-
			   sion syntax is the same as that of The (...) pattern symbols can be used to select a portion of the  first  argument.
			   Otherwise, the matching operator yields the number of characters matched ('0' on failure).

       ( expr ) 	   parentheses for grouping.

Examples
       The first example adds 1 to the Shell variable a:
       a=`expr $a + 1`
       The second example finds the file name part (least significant part) of the pathname stored in variable a,
       expr $a : '.*/(.*)' '|' $a
       Note the quoted Shell metacharacters.

Diagnostics
       The command returns the following exit codes:

       0    The expression is neither null nor '0'.

       1    The expression is null or '0'.

       2    The expression is invalid.

See Also
       ed(1), sh(1), test(1)

																	   expr(1)
All times are GMT -4. The time now is 06:33 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy