Sponsored Content
Top Forums Programming Code review: recursion in circular array, reduce two functions to one? Post 303014910 by stomp on Friday 23rd of March 2018 07:34:31 AM
Old 03-23-2018
Code:
#!/bin/bash

max=5

next() {
  [ $counter -eq 0    ] || [ -z "$last" ] && change="1"
  [ $counter -eq $max ]                   && change="-1"
  last=$counter
  ((counter=$counter + $change))
}

counter=$(($RANDOM%($max+1)))
for((i=0;$i<20;i++));do
        echo $counter
        next
done

Remark
Don't use global variables like this in a bigger script!

Last edited by stomp; 03-23-2018 at 08:55 AM..
This User Gave Thanks to stomp For This Post:
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Can some review my code would be appreicated?

I am getting an error "ftpNotes.sh: syntax error at line 8 : `<<' unmatched" #!/bin/ksh PATH=/usr/sbin/:/usr/bin:/usr/ucb:/etc:/usr/local/bin:. cd $HOME if ;then if ; then echo 'DSC file already ftp to epm server' else ftp -n epmdev00 <<SCRIPT... (1 Reply)
Discussion started by: sibghat
1 Replies

2. Shell Programming and Scripting

Can someone review my code tell me where I am going wrong?

Started writing my code. my read input is not even asking nor working? And I get a EOF script error. echo "1) aragorn.domain.net" echo "2) marvel.domain.net" echo "3) athena.domain.net" echo "4) gandalf.domain.net" echo "5) griffin.domain.net" echo "What server would you like... (4 Replies)
Discussion started by: chrchcol
4 Replies

3. Shell Programming and Scripting

Tricky array substitution in functions

Hello, Please tell me if there is a better way to get the number of elements from an array that is passed to a function. This is what works on Solaris 8 (ksh) but it looks odd: loop_array() { array_name=$2 b1='\${\#' b2='}' nr_elements=`eval echo... (6 Replies)
Discussion started by: majormark
6 Replies

4. Programming

[ C ] multidemensional array pass to functions

Please excuse my ineptitude for a bit as I've been spoiled for the past few months with only writing perl code instead of C. So ok, I've been thinking about some code to change the crc32 values that are held within central directory headers of zip files. Because I'm lazy I decided to just... (3 Replies)
Discussion started by: VRoemer
3 Replies

5. Shell Programming and Scripting

How to reduce code.....

Hi All, Could some one help me to reduce the code... if then ./plist -m "$queuename" |grep $2|awk '{print $3}' >unlock.log elif then ./plist -m "$queuename" |grep $2|awk '{print $4}' >unlock.log else ./plist -m "$queuename" |grep $2|awk '{print $5}' >unlock.log . . . . ... (1 Reply)
Discussion started by: harshakusam
1 Replies

6. Shell Programming and Scripting

Passing array to functions in ksh script

Let me know if there is a way to pass array to a funtion in ksh script. function isPresent { typeset member member=$1 dbList=$2 echo '$1:' $1 echo '$2' $dbList The array will be at the second position....something like this isPresent 12 <array> if then echo... (3 Replies)
Discussion started by: prasperl
3 Replies

7. Programming

c++ code to check whether a list is circular or not

hi all, i need c++ code to check whether a list is circular or not... please help (8 Replies)
Discussion started by: vidyaj
8 Replies

8. Shell Programming and Scripting

Need help on Assigning a Array variable from Background Functions

I have a question on how can I assign a output of a function to a variable which is executed in background. Here is my example $ cat sample_program.sh #!/bin/ksh exec_func () { sleep 1 v=`expr $1 + 100` print $v } export OUT_ARR date for i in 1 2 do OUT_ARR=`exec_func $i` &... (1 Reply)
Discussion started by: mohan_kumarcs
1 Replies

9. Shell Programming and Scripting

Reduce the number of lines by using Array

I have the following code to count the number of how many times the name occurred in one file. The code is working fine and the output is exactly what I want. The problem is the real code has more than 50 names in function listname which cause function name to have more than 50 case ,and function... (14 Replies)
Discussion started by: samsan
14 Replies
PTS_SETMAX(1)						       AFS Command Reference						     PTS_SETMAX(1)

NAME
pts_setmax - Sets the value of the max group id or max user id counter SYNOPSIS
pts setmax [-group <group max>] [-user <user max>] [-cell <cell name>] [-noauth] [-localauth] [-force] [-help] pts setm [-g group max>] [-u <user max>] [-c <cell name>] [-n] [-l] [-f] [-h] DESCRIPTION
The pts setmax command sets the value of one or both counters that track the IDs the Protection Server allocates to new users, machines, or groups: the "max user id" counter for the AFS user IDs (AFS UIDs) assigned to users and machines, and the "max group id" counter for the AFS group IDs (AFS GIDs) assigned to groups. Use the pts listmax command to display the current value of both counters. OPTIONS
-group <group max> Sets the "max group id" counter. Precede the value with a hyphen to indicate that it is negative. When an administrator next uses the pts creategroup command to create a group entry and does not include that command's -id argument, the Protection Server assigns the group an AFS GID one less (more negative) than this value. -user <user max> Sets the "max user id" counter. When an administrator next uses the pts createuser command to create a user or machine entry and does not include that command's -id argument, the Protection Server assigns the group an AFS UID one greater than this value. -cell <cell name> Names the cell in which to run the command. For more details, see pts(1). -force Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. -help Prints the online help for this command. All other valid options are ignored. -localauth Constructs a server ticket using a key from the local /etc/openafs/server/KeyFile file. Do not combine this flag with the -cell or -noauth options. For more details, see pts(1). -noauth Assigns the unprivileged identity anonymous to the issuer. For more details, see pts(1). EXAMPLES
The following command sets the "max group id" counter to -500 and the "max user id" counter to 1000. % pts setmax -group -500 -user 1000 PRIVILEGE REQUIRED
The issuer must belong to the system:administrators group. SEE ALSO
pts(1), pts_creategroup(1), pts_createuser(1), pts_listmax(1) COPYRIGHT
IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved. This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. OpenAFS 2014-04-08 PTS_SETMAX(1)
All times are GMT -4. The time now is 04:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy