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

Windows goto equivalent in Linux

Bash has no GOTO. Use functions, break, continue, or restructure logic with loops and conditionals.

Windows goto
→
Linux equivalents
Debian/Ubuntu same command
functions / break / continue
Fedora same command
functions / break / continue
Arch same command
functions / break / continue

Overview

What this command does

On Windows, "goto" is used to control flow — replace GOTO with functions. On Linux, the closest practical mapping shown here is "functions / break / continue". Bash has no GOTO. Use functions, break, continue, or restructure logic with loops and conditionals. This reference is grouped under Terminal & Shell Scripting → Terminal.

Migration tip: There is <strong>no GOTO in bash</strong> — and that's a good thing. Restructure your logic using <strong>functions</strong>, which are cleaner and reusable.

Windows → Linux context

What changes when you use this on Linux?

Equivalent task, different tool

Windows goto maps to functions / break / continue for this task. Treat this as a workflow mapping rather than a character-for-character syntax translation.

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

Control flow — replace GOTO with functions

Bash has no GOTO. Use functions, break, continue, or restructure logic with loops and conditionals.

function name() { ... }

Define a function

break

Exit current loop

continue

Skip to next loop iteration

Ready to run

Copyable Linux commands

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

do_backup() {
echo "Running backup..."
tar -czf backup.tar.gz ~/Documents
do_cleanup() {
rm -f /tmp/*.tmp
do_backup
do_cleanup

Walkthrough

Examples with explanations

# Windows: goto :label

# Use functions instead:
do_backup() {
  echo "Running backup..."
  tar -czf backup.tar.gz ~/Documents
}

do_cleanup() {
  rm -f /tmp/*.tmp
}

do_backup
do_cleanup

Reference

Common options and variations

Command or optionUse
function name() { ... }Define a function
breakExit current loop
continueSkip to next loop iteration
return 0Return from function with exit code

Distro differences

Debian/Ubuntu vs Fedora vs Arch

Debian/Ubuntu, Fedora and Arch all use "functions / break / continue" 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 functions / break / continue Same command on this distribution.
Fedora same command functions / break / continue Same command on this distribution.
Arch same command functions / break / continue Same command on this distribution.

Keep learning

Related Terminal & Shell Scripting commands