← All commands
Topic hub Terminal & Shell Scripting
Windows Linux Terminal & Shell Scripting Expanded guide Terminal

Windows while (goto loop) equivalent in Linux

Repeatedly executes commands as long as a condition remains true.

Windows while (goto loop)
→
Linux equivalents
Debian/Ubuntu same command
while [ condition ]; do ... done
Fedora same command
while [ condition ]; do ... done
Arch same command
while [ condition ]; do ... done

Overview

What this command does

On Windows, "while (goto loop)" is used to loop while a condition is true. On Linux, the closest practical mapping shown here is "while [ condition ]; do ... done". Repeatedly executes commands as long as a condition remains true. This reference is grouped under Terminal & Shell Scripting → Terminal.

Migration tip: Use <code>while true; do ... done</code> for an infinite loop (exit with Ctrl+C or <code>break</code>). <code>while read line</code> is the standard pattern for processing a file line by line.

Windows → Linux context

What changes when you use this on Linux?

Same name, different environment

The basic command name while is familiar on both platforms, but Linux path rules, quoting, permissions and available options can still change the result.

Portable across the compared distros

The Debian/Ubuntu, Fedora and Arch rows use the same command in this mapping. Package availability or defaults can still vary, so check the installed tool version when an option behaves differently.

Practical tasks

Common use cases

Loop while a condition is true

Repeatedly executes commands as long as a condition remains true.

while true; do

Infinite loop

while read line; do

Read file line by line

break

Exit the loop

Ready to run

Copyable Linux commands

Review paths, device names, package names and permissions before running any command.

while read line; do
echo "Line: $line"
done < input.txt
while ! ping -c 1 google.com; do
echo "Waiting for network..."
sleep 5
done

Walkthrough

Examples with explanations

# Read file line by line:
while read line; do
  echo "Line: $line"
done < input.txt

# Retry until success:
while ! ping -c 1 google.com; do
  echo "Waiting for network..."
  sleep 5
done

Reference

Common options and variations

Command or optionUse
while true; doInfinite loop
while read line; doRead file line by line
breakExit the loop
continueSkip to next iteration

Distro differences

Debian/Ubuntu vs Fedora vs Arch

Debian/Ubuntu, Fedora and Arch all use "while [ condition ]; do ... done" for this mapping. The command syntax shown here is portable across the three rows, although installed versions and system defaults can still vary.

DistributionPackage manager / baseEquivalent commandDifference to notice
Debian/Ubuntu same command while [ condition ]; do ... done Same command on this distribution.
Fedora same command while [ condition ]; do ... done Same command on this distribution.
Arch same command while [ condition ]; do ... done Same command on this distribution.

Keep learning

Related Terminal & Shell Scripting commands