InfinityQuest - Programming Code Tutorials and Examples with Python, C++, Java, PHP, C#, JavaScript, Swift and more

Menu
  • Home
  • Sitemap

Python Programming Language Best Tutorials and Code Examples

Learn Python Right Now!
Home
Bash
Looping with a Count in bash
Bash

Looping with a Count in bash

InfinityCoder February 14, 2017

You need to loop a fixed number of times. You could use a while loop and do the counting and testing, but programming languages have for loops for such a common idiom.

How does one do this in bash ?

Use a special case of the for syntax, one that looks a lot like C Language, but with double parentheses:

1
$ for (( i=0 ; i < 10 ; i++ )) ; do echo $i ; done

In early versions of the shell, the original syntax for the for loop only included iterating over a fixed list of items.

It was a neat innovation for such a word-oriented language as shell scripts, dealing with filenames and such.

But when users needed to count, they sometimes found themselves writing:

1
2
3
4
for i in 1 2 3 4 5 6 7 8 9 10
do
   echo $i
done

Now that’s not too bad, especially for small loops, but let’s face it—that’s not going to work for 500 iterations.

(Yes, you could nest loops 5 × 10, but come on!) What you really need is a for loop that can count.
The special case of the for loop with C-like syntax is a relatively recent addition to bash (appearing in version 2.04).

Its more general form can be described as:

1
for (( expr1 ; expr2 ; expr3 )) ; do list ; done

The use of double parentheses is meant to indicate that these are arithmetic expressions.
You don’t need to use the $ construct (as in $i, except for arguments like $1) when referring to variables inside the double parentheses (just like the other places where double parentheses are used in bash).

The expressions are integer arithmetic expressions and offer a rich variety of operators, including the use of the comma to put multiple operations within one expression:

1
2
3
4
for (( i=0, j=0 ; i+j < 10 ; i++, j++ ))
do
   echo $((i*j))
done

That for loop initializes two variables (i and j), then has a more complex second expression adding the two together before doing the less-than comparison.

The comma operator is used again in the third expression to increment both variables.

Share
Tweet
Email
Prev Article
Next Article

Related Articles

Setting Shell History Options in bash
You’d like more control over your command-line history. Set the …

Setting Shell History Options in bash

Writing Output with More Formatting Control in bash
You want more control over the formatting and placement of …

Writing Output with More Formatting Control in bash

About The Author

InfinityCoder
InfinityCoder

Leave a Reply

Cancel reply

Recent Tutorials InfinityQuest

  • Adding New Features to bash Using Loadable Built-ins in bash
    Adding New Features to bash Using Loadable …
    June 27, 2017 0
  • Getting to the Bottom of Things in bash
    Getting to the Bottom of Things in …
    June 27, 2017 0

Recent Comments

  • fer on Turning a Dictionary into XML in Python
  • mahesh on Turning a Dictionary into XML in Python

Categories

  • Bash
  • PHP
  • Python
  • Uncategorized

InfinityQuest - Programming Code Tutorials and Examples with Python, C++, Java, PHP, C#, JavaScript, Swift and more

About Us

Start learning your desired programming language with InfinityQuest.com.

On our website you can access any tutorial that you want with video and code examples.

We are very happy and honored that InfinityQuest.com has been listed as a recommended learning website for students.

Popular Tags

binary data python CIDR convert string into datetime python create xml from dict python dictionary into xml python how to create xml with dict in Python how to write binary data in Python IP Address read binary data python tutorial string as date object python string to datetime python

Archives

  • June 2017
  • April 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
Copyright © 2021 InfinityQuest - Programming Code Tutorials and Examples with Python, C++, Java, PHP, C#, JavaScript, Swift and more
Programming Tutorials | Sitemap