Files
my-docs/Linux/Bash Script/3-Exit-Codes.md
2025-07-07 20:22:58 +03:30

96 lines
1.6 KiB
Markdown

# 🧾 Linux Exit Codes Cheat Sheet
Every command in Linux returns an **exit status code** upon completion. You can check this code using:
```bash
command
echo $?
```
These codes are helpful for debugging scripts or understanding command behavior.
---
## ✅ Common Exit Codes & Their Meanings
| Exit Code | Meaning |
| --------- | ----------------------------------------------- |
| `0` | ✅ Success |
| `1` | ❌ General Error |
| `2` | ⚠️ Misuse of Shell Built-in (bad options, etc.) |
| `126` | 🚫 Command Found but Cannot Execute |
| `127` | ❓ Command Not Found |
| `130` | ⌨️ Terminated by `Ctrl+C` |
| `137` | 💀 Killed (e.g., `kill -9`) |
---
## 🔍 Exit Code Examples
### `0` — Success
```bash
echo "Hello"
echo $? # ➜ 0
```
---
### `1` — General Error
```bash
grep "text" non_existing_file.txt
echo $? # ➜ 1
```
---
### `2` — Misuse of Shell Built-in
```bash
ls --wrongoption
echo $? # ➜ 2
```
---
### `126` — Command Found but Not Executable
```bash
touch myscript.sh
chmod -x myscript.sh
./myscript.sh
echo $? # ➜ 126
```
---
### `127` — Command Not Found
```bash
nonexistentcommand
echo $? # ➜ 127
```
---
### `130` — Script Terminated by `Ctrl+C`
```bash
sleep 10
# Press Ctrl+C while it sleeps
echo $? # ➜ 130
```
---
### `137` — Killed by `kill -9`
```bash
sleep 100 &
kill -9 $!
wait
echo $? # ➜ 137
```