Bash Pipefail + Grep Error Handling
When set -o pipefail is enabled, grep returning exit code 1 (no match) will kill the script. The naive || echo "" after a pipeline won't catch failures within the pipe. Wrap the entire pipeline in a subshell or function to isolate the set -e scope, allowing the || fallback to actually catch the failure. Use get_val() { (set -e; grep key file || echo ""); } pattern for optional lookups in configuration scripts.