Sponsored Content
Top Forums Programming Global variable in for loop (BASH) Post 302884364 by Akshay Hegde on Monday 20th of January 2014 06:13:42 AM
Old 01-20-2014
Ok.. I created one test file named speed.log which looks as below

Code:
$ cat speed.log 
5

Code:
#!/bin/bash
pause=0
users=10

for (( ; ; ));do
   speed=$(cat speed.log)
   [ "$speed" -lt 10 ] && echo 1 ||  echo 0
   sleep 1
done >/tmp/myid &



function user(){
   pause=$(cat /tmp/myid)
   while [[ "$pause" = 1 ]]; do
      echo pausing script $(date)
          sleep 2
   done
  
}


for(( user = 1; user <= $users; user++ )); do
  user
done

Code:
$ bash test.sh
pausing script Mon Jan 20 16:40:42 IST 2014
pausing script Mon Jan 20 16:40:44 IST 2014
pausing script Mon Jan 20 16:40:46 IST 2014
pausing script Mon Jan 20 16:40:48 IST 2014
pausing script Mon Jan 20 16:40:50 IST 2014
pausing script Mon Jan 20 16:40:52 IST 2014
pausing script Mon Jan 20 16:40:54 IST 2014
pausing script Mon Jan 20 16:40:56 IST 2014
pausing script Mon Jan 20 16:40:58 IST 2014
......

Hope you can implement now according to your need

change sleep seconds and remove $(date) in echo statement, as I added it for testing purpose.
This User Gave Thanks to Akshay Hegde For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

bash and ksh: variable lost in loop in bash?

Hi, I use AIX (ksh) and Linux (bash) servers. I'm trying to do scripts to will run in both ksh and bash, and most of the time it works. But this time I don't get it in bash (I'm more familar in ksh). The goal of my script if to read a "config file" (like "ini" file), and make various report.... (2 Replies)
Discussion started by: estienne
2 Replies

2. Shell Programming and Scripting

Global variable value

Hi All, Im new to shell scripting. I am running EgA.sh and setting one global variable XYZ=0 . Also calling another EgB.sh from EgA.sh, changing the value of XYZ=10 but after executing EgB.sh, value of XYZ is still 0. Im expecting it to be 10. Anyone for help. Thanks in Advance. :) (5 Replies)
Discussion started by: paliwal
5 Replies

3. Shell Programming and Scripting

(BASH) Using a loop variable to grep something in a file?

Hi, I have a loop running until a variable L that is read previously in the full script. I'd like to grep some information in an input file at a line that contains the value of the loop parameter $i. I've tried to use grep, but the problem is nothing is written in the FILE files. It seems grep... (5 Replies)
Discussion started by: DMini
5 Replies

4. UNIX for Dummies Questions & Answers

Help with 3 variable bash loop

Hi all! I think someone might be able to solve my problem pretty easily. I am trying to run a bash loop with 3 variables. I know how to do: for var1 in `cat list1`; do for var2 in `cat list2`; do for var3 in `cat list3`; command var1 var2 > var3; done; done; done However, this will run all... (4 Replies)
Discussion started by: torchij
4 Replies

5. Shell Programming and Scripting

Detail on For loop for multiple file input and bash variable usage

Dear mentors, I just need little explanation regarding for loop to give input to awk script for file in `ls *.txt |sort -t"_" -k2n,2`; do awk script $file done which sorts file in order, and will input one after another file in order to awk script suppose if I have to input 2 or... (4 Replies)
Discussion started by: Akshay Hegde
4 Replies

6. Shell Programming and Scripting

Bash for loop with arrays second variable?

I am fairly new to bash and am not sure how to resolve this: I have a series of geographical long/lat points eg. 50/-30 listed on separate lines in a file called junk2. I have input these into an array and am then using that array in a for loop. Towards the end of the loop I create a file called... (4 Replies)
Discussion started by: lily-anne
4 Replies

7. Shell Programming and Scripting

Unable to set Global variable outside while loop

Below is my code: count=0 if ... ... else ... find * -prune -type d | sort -r -n | while read d; do count=1 if ; then echo "Count1:$count" ... ... break 2; fi ... done ... fi echo "Count2:$count" (9 Replies)
Discussion started by: mohtashims
9 Replies

8. Shell Programming and Scripting

Bash variable available for use outside loop

In the below for loop, I extract a variable $d which is an id that will change each time. The bash executes the problem that I am having is that p (after the done) is the path with the extracted $d. However, I can not use it in subsequent loops as it is not reconized. I have been trying to change... (3 Replies)
Discussion started by: cmccabe
3 Replies

9. UNIX for Beginners Questions & Answers

How do I assign the output of a command to a variable within a loop in bash?

In the else of the main if condition . else set lnk = $(readlink -f <path> | cut -d '/' -f7) echo "$lnk" if ] When I run the above on command line , the execution seems to be fine and I get the desired output. But when I try to assign it to a variable within a loop... (12 Replies)
Discussion started by: sankasu
12 Replies

10. UNIX for Beginners Questions & Answers

Bash Variable scope - while loop while reading from a file

Cope sample1: test.sh i=0 echo " Outside loop i = $i " while do i=$(( $i + 1)) echo "Inside loop i = $i " done echo " Out of loop i is : $i " When run output : Outside loop i = 0 Inside loop i = 1 Inside loop i = 2 Inside loop i = 3 Inside loop i = 4 Inside loop i = 5 Inside... (8 Replies)
Discussion started by: Adarshreddy01
8 Replies
ns_lctl(3aolserver)					    AOLserver Built-In Commands 				       ns_lctl(3aolserver)

__________________________________________________________________________________________________________________________________________________

NAME
ns_for, ns_foreach, ns_while, ns_lctl - Replacements for standard Tcl loop commands which enable monitoring and control SYNOPSIS
ns_for start test next body ns_foreach varname list body ns_foreach varlist1 list1 ?varlist2 list2 ...? body ns_while test body ns_lctl cancel id ns_lctl eval id script ns_lctl info id ns_lctl install command ns_lctl list ns_lctl pause id ns_lctl result id _________________________________________________________________ DESCRIPTION
The ns_for, ns_foreach, and ns_while commands are replacements for cooresponding Tcl commands with the additional capability of monitoring and control through the ns_lctl command. ns_for start test next body See the for(n) man page for usage. ns_foreach start test next body See the foreach(n) man page for usage. ns_foreach varlist1 list1 ?varlist2 list2 ...? body See the foreach(n) man page for usage. ns_while test body See the while(n) man page for usage. ns_lctl cancel id Mark the given loop to cancel at the next iteration, resulting in the loop returning with TCL_ERROR. ns_lctl eval id script ns_lctl info id ns_lctl install command ns_lctl list ns_lctl pause id ns_lctl result id SEE ALSO
for(n), foreach(n), while(n) KEYWORDS
threads, iteration, list, looping, cancel AOLserver 4.5 ns_lctl(3aolserver)
All times are GMT -4. The time now is 03:46 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy