> ## Documentation Index
> Fetch the complete documentation index at: https://docs.syntblaze.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bash Append Output and Error

The `&>>` operator is a Bash-specific redirection control operator that appends both standard output (`stdout`, file descriptor 1) and standard error (`stderr`, file descriptor 2) from a command to a specified file. Introduced in Bash 4.0, it serves as a syntactic shorthand for redirecting both output streams without truncating the target file.

## Syntax

```bash theme={"dark"}
command &>> filename
```

## Mechanics

When the Bash shell parses the `&>>` token, it performs the following operations:

1. It opens the target `filename` in append mode (`O_WRONLY | O_CREAT | O_APPEND`). If the file does not exist, it is created.
2. It binds file descriptor 1 (`stdout`) to this file.
3. It binds file descriptor 2 (`stderr`) to the exact same file description as file descriptor 1.

Because both streams are redirected in append mode, the existing contents of the target file are preserved, and new output from either stream is written to the end of the file.

## POSIX Equivalent

The `&>>` operator is not POSIX-compliant. Under the hood, it is functionally identical to the traditional, POSIX-compliant two-step redirection syntax:

```bash theme={"dark"}

# Bash 4.0+ shorthand
command &>> filename


# POSIX-compliant equivalent
command >> filename 2>&1
```

In the POSIX equivalent, the order of operations is strictly evaluated from left to right:

1. `>> filename` redirects `stdout` (FD 1) to append to `filename`.
2. `2>&1` duplicates file descriptor 1, pointing `stderr` (FD 2) to the same open file handle that FD 1 is currently using.

## Compatibility

Because `&>>` is a Bash extension (specifically Bash 4.0 and newer), it will result in a syntax error or unexpected behavior if executed in a strict POSIX shell (like `sh`, `dash`, or Alpine Linux's default shell) or in older versions of Bash (such as the default Bash 3.2 found on macOS). In environments requiring strict portability, the `>> filename 2>&1` syntax must be used instead.

<div
  style={{ 
display: "flex", 
justifyContent: "space-between", 
alignItems: "center", 
maxWidth: "754px", 
padding: "1rem 0",
marginBottom: "24px"
}}
>
  <span style={{ fontWeight: "bold", fontSize: "1.25rem", color: "var(--tw-prose-headings)", fontFamily: "Inter, ui-sans-serif, system-ui, sans-serif" }}>Tired of Poor Bash Skills? Fix That With Deep Grasping!</span>

  <a
    href="https://syntblaze.com"
    target="_blank"
    style={{ 
  marginLeft: "24px",
  textDecoration: "none", 
  backgroundColor: "#007AFF",
  color: "#ffffff", 
  padding: "6px 16px", 
  borderRadius: "16px",
  fontSize: "0.9rem",
  fontWeight: "600",
  textAlign: "center",
  transition: "background-color 0.2s ease"
}}
  >
    Learn More
  </a>
</div>

<div style={{ display: "flex", gap: "12px", flexWrap: "wrap" }}>
  <img src="https://mintcdn.com/syntblazellc/-L0ums_2lctDSZ1l/images/skill-tracking.png?fit=max&auto=format&n=-L0ums_2lctDSZ1l&q=85&s=b9b0305c93bb501c9e767b5c76c88835" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/skill-tracking.png" />

  <img src="https://mintcdn.com/syntblazellc/23tyuOzaWS88qFlc/images/nuggets.png?fit=max&auto=format&n=23tyuOzaWS88qFlc&q=85&s=c86c80197299762989e9b882419b2109" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/nuggets.png" />

  <img src="https://mintcdn.com/syntblazellc/-L0ums_2lctDSZ1l/images/bite-sized-exercises.png?fit=max&auto=format&n=-L0ums_2lctDSZ1l&q=85&s=a65f9a38c37ff28ab73ed783c53c60e3" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/bite-sized-exercises.png" />
</div>

<div style={{ display: "flex", gap: "12px", flexWrap: "wrap", marginTop: "12px" }}>
  <img src="https://mintcdn.com/syntblazellc/-L0ums_2lctDSZ1l/images/mastery-chain.png?fit=max&auto=format&n=-L0ums_2lctDSZ1l&q=85&s=748a1763454713e679260fbb95f154a2" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/mastery-chain.png" />

  <img src="https://mintcdn.com/syntblazellc/-L0ums_2lctDSZ1l/images/element-previews.png?fit=max&auto=format&n=-L0ums_2lctDSZ1l&q=85&s=242f61448ff5dd6deaaab2dccc13b507" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/element-previews.png" />

  <img src="https://mintcdn.com/syntblazellc/-L0ums_2lctDSZ1l/images/element-explanations.png?fit=max&auto=format&n=-L0ums_2lctDSZ1l&q=85&s=cf0fc1c31f9cd0fc26716781be05fbc9" style={{ width: "30%", minWidth: 60 }} width="621" height="1344" data-path="images/element-explanations.png" />
</div>
