Sponsored Content
Operating Systems OS X (Apple) Generate a random number in a fully POSIX compliant shell, 'dash'... Post 303043172 by wisecracker on Monday 20th of January 2020 04:48:24 PM
Old 01-20-2020
Hi MadeInGermany...
Although there is a workaround this is an edge case:
Code:
#!/usr/local/bin/dash
# lead_zeros.sh

# This is a gotcha...
# There will always be 6 zeros sooner or later, 000000.
 
# Only the last 6 digits are really needed... 
TEST_VAL=0.000000
TEST_NUM=123

num=${TEST_VAL#??}
echo "${num}"
lz=${num%%[1-9]*}
echo "${lz}"
TEST_VAL=${num#$lz}

echo "Test value = ${TEST_VAL}..."

TEST_VAL=$(( TEST_VAL * TEST_NUM ))

echo "Required integer = ${TEST_VAL}..."

Results:
Code:
Last login: Mon Jan 20 21:18:42 on ttys000
AMIGA:amiga~> cd Desktop/Code/Shell
AMIGA:amiga~/Desktop/Code/Shell> chmod 755 lead_zeros.sh
AMIGA:amiga~/Desktop/Code/Shell> ./lead_zeros.sh
000000
000000
Test value = ...
./lead_zeros.sh: 19: ./lead_zeros.sh: Illegal number: 
AMIGA:amiga~/Desktop/Code/Shell> _

EDIT:
This is a workaround...
TEST_VAL=$(( (${TEST_VAL} + 0 ) * TEST_NUM ))

Last edited by wisecracker; 01-20-2020 at 06:46 PM.. Reason: See EDIT:
 

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
newgrp(1)						      General Commands Manual							 newgrp(1)

NAME
newgrp - switch to a new group SYNOPSIS
[group] DESCRIPTION
The command changes your group ID without changing your user ID and replaces your current shell with a new one. If you specify group, the change is successful if group exists and either your user ID is a member of the new group, or group has a pass- word and you can supply it from the terminal. If you omit group, changes to the group specified in your entry in the password file, Whether the group is changed successfully or not, or the new group is the same as the old one or not, proceeds to replace your current shell with the one specified in the shell field of your password file entry. If that field is empty, uses the POSIX shell, (see sh- posix(1)). If you specify (hyphen) as the first argument, the new shell starts up as if you had just logged in. If you omit the new shell starts up as if you had invoked it as a subshell. You remain logged in and the current directory is unchanged, but calculations of access permissions to files are performed with respect to the new real and effective group IDs. Exported variables retain their values and are passed to the new shell. All unexported variables are deleted, but the new shell may reset them to default values. Since the current process is replaced when the new shell is started, exiting from the new shell has the same effect as exiting from the shell in which was executed. EXTERNAL INFLUENCES
International Code Set Support Characters from the 7-bit USASCII code set are supported in group names (see ascii(5)). DIAGNOSTICS
The command issues the following error messages: Your user ID does not qualify as a group member. The group name does not exist in If a password is required, it must come from a terminal. Standard input is not a terminal file, causing the new shell to fail. EXAMPLES
To change from your current group to group without executing the login routines: To change from your current group to group and execute the login routines: WARNINGS
There is no convenient way to enter a password into The use of group passwords is not recommended because, by their very nature, they encourage poor security practices. Group passwords may be eliminated in future HP-UX releases. If the specified group to has multiple inconsistent entries (i.e. the group id or/and password are different) in the group database, will consider the group id and password of the first matched group entry as the correct group id and password for the group. FILES
System group file System password file SEE ALSO
csh(1), ksh(1), login(1), sh-posix(1), group(4), passwd(4), environ(5). STANDARDS CONFORMANCE
newgrp(1)
All times are GMT -4. The time now is 07:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy