≡ Menu

HowTo: Use bash For Loop In One Line

How do I use bash for loop in one line under UNIX or Linux operating systems?

The syntax is as follows to run for loop from the command prompt.

Run Command 5 Times

for i in {1..5}; do COMMAND-HERE; done


 for((i=1;i<=10;i+=2)); do echo "Welcome $i times"; done

Work On Files

for i in *; do echo $i; done


for i in /etc/*.conf; do cp $i /backup; done
Share this tutorial on:

Like this? Follow us on Twitter OR support us by using Patreon

{ 10 comments… add one }
  • Kingpin March 21, 2013, 12:13 pm

    OK, but how do I run two commands in the for loop? for () command1; command; done

    • Anne August 22, 2013, 5:00 pm

      two commands:
      for i in (); do echo $i ; ls $i; done

      nested for:

      for i in {0..3}; do for j in {0..9}; do echo -n \($i, $j\); echo Is today the $i$j \?; done; done

  • roger September 25, 2013, 5:50 pm

    I’d suggest you add an example of this to http://www.cyberciti.biz/faq/bash-for-loop/ also that would have helped me…maybe with a ToC at the top as well :)

  • w February 13, 2014, 10:49 am

    Thanks for this.

  • ronator October 14, 2014, 2:41 pm

    For the very rare case yout got file names with a leading dash:

    for i in *; do echo $i; done [ will not show files with leading dash ]

    for i in “*”; do echo $i; done [ will show files with leading dash (but not one file per line) ]

  • Anne February 13, 2015, 11:08 pm

    Love it! Thanks!

  • Jakob June 8, 2016, 10:10 am

    Work on Folders:

    for i in */; do (cd “$i” && git fetch) done

  • Jimy July 21, 2016, 4:35 am

    Thanks for this!
    It saved me hours of banging my head on the table

  • Mora October 1, 2016, 11:45 am


  • Rakesh October 4, 2016, 7:15 pm

    Hi, I’m new in bash, please help me somebody. ..
    I have one folder in linux server and in folder has some *.sql file, so I want to execute all the sql in my mysql sequencely one by one. We also want output on my display as well as in log file for every files execution error. Ex. /root/desktop/sql/1_ff_f_update. And 2_*, 3_* so on. Count of the file was change every time so we can not tell u of count of the files….

    If possible help me..
    Thanks in advance. .

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">

   Tagged with: , , , , , , ,