TheDocumentation Index
Fetch the complete documentation index at: https://docs.syntblaze.com/llms.txt
Use this file to discover all available pages before exploring further.
>| operator is a standard output (stdout) redirection operator in Bash that forces the truncation and overwriting of an existing file, explicitly bypassing the noclobber shell option (set -C).
Syntax
fd: (Optional) The file descriptor to redirect. Defaults to1(standard output).filename: The target file to receive the redirected stream.
Execution Mechanics
The mechanical distinction of>| is strictly tied to the state of the shell’s noclobber option:
noclobberDisabled (Default State): Whenset +o noclobberis active, the standard>operator and the>|operator are functionally identical. Both will truncate an existing file to zero bytes before writing the new output stream.noclobberEnabled: Whenset -o noclobber(orset -C) is active, the shell prevents the standard>operator from overwriting existing regular files, yielding acannot overwrite existing fileerror. The>|operator overrides this internal shell restriction, forcing the truncation and write operation to proceed regardless of thenoclobberstate.
Technical Constraints
- POSIX Compliance: The
>|operator is defined in the POSIX shell command language specification (IEEE Std 1003.1). It is a standard feature, not a Bash-specific extension. - Filesystem Permissions: The operator only overrides the shell’s internal
noclobbersafeguard. It does not bypass operating system-level file permissions. If the target file lacks write permissions (-w), or if the file is marked immutable by the filesystem,>|will still fail with aPermission deniederror. - Non-Regular Files: The
noclobberoption only protects regular files. Redirecting to character special files (e.g.,/dev/null,/dev/tty) or FIFOs is unaffected bynoclobber, making>|mechanically equivalent to>when targeting these file types.
Master Bash with Deep Grasping Methodology!Learn More





