How does `||` operator work?

QuestionsQuestions4 SkillsProDec, 13 2025
0170

That's a fantastic follow-up question! You're thinking ahead, and that's great for understanding shell scripting.

While && means "execute the next command only if the previous one succeeded," the || operator (which stands for logical OR) works differently:

  • Command A || Command B: Command B will be executed only if Command A fails (returns a non-zero exit status).
  • If Command A succeeds (returns an exit status of 0), Command B will not be executed.

Think of it as a fallback mechanism. "Do this first, but if that doesn't work, then try this instead."

Here's a common example: You want to run a command, but if it fails, you want to display an error message.

command_that_might_fail || echo "Error: The command failed!"

In this case:

  • If command_that_might_fail runs successfully, the echo command will not be executed.
  • If command_that_might_fail fails, then "Error: The command failed!" will be printed to your terminal.

Another use case: You want to open a file with one editor, but if that editor isn't available, try another.

vim my_file.txt || nano my_file.txt

So, while && is about sequential success, || is about providing alternatives in case of failure.

Does that make sense? Let me know if you'd like to try an example!

0 Comments

no data
Be the first to share your comment!