How do I skip bash for loop if certain condition is satisfied under UNIX / Linux / BSD / OS X?
You can do early exit with break statement inside the for loop. You can exit from within a FOR loop using break using the following syntax:
for i in 1 2 3 4 5 6 8 9 10 do statements1 #Executed for all values of ''I'', up to a disaster-condition if any. statements2 if (disaster-condition) then break #Abandon the loop. fi statements3 # While good and, no disaster-condition. done
Example
In this example, go through all conf file in /etc/ directory and break the loop if /etc/resolv.conf file, else loop will end when all files are checked and it will display not found message:
#!/bin/bash found=0 for i in /tmp/*.conf do if [ "$i" == "resolv.conf" ] then echo "resolv.conf found in /etc" found=1 break fi done if [ $found -eq 0 ] then echo "resolv.conf not found in /etc" fi
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop














{ 1 comment… read it below or add one }
In last example there is error:
for i in /etc/*.conf