The Ultimate Guide to Setting Your PATH in Bash, Zsh, and Fish

2025-02-17

This guide provides a comprehensive walkthrough of adding directories to your PATH environment variable across different shells like bash, zsh, and fish. It addresses common pitfalls, such as locating the correct configuration file, handling duplicate entries, and configuring PATH within cron jobs. The author uses real-world examples to guide you through the process, ensuring you can successfully run programs after mastering PATH configuration.

Read more
Development Environment Variables

Terminal User Pain Points: Even Experts Struggle

2025-02-09

A survey of 1600 terminal users reveals persistent frustrations, even among seasoned users (40% with 21+ years of experience). Key issues include remembering command syntax (awk, jq, sed, etc.), keyboard shortcuts (tmux, text editors), and navigating inconsistencies across systems (OS differences, editor variations). Color configuration, copy/paste (across SSH, tmux, etc.), discoverability of useful tools, a steep learning curve, shell history management, and poor documentation also surfaced frequently. The results highlight the ongoing struggles even experienced users face with terminal minutiae, emphasizing the need for improved user experience.

Read more

Unspoken Rules of Terminal Programs: A 20-Year Retrospective

2024-12-12

This article summarizes the author's 20 years of experience with terminal programs, distilling common, albeit unofficial, 'rules' of behavior. These rules cover program responses to Ctrl-C, Ctrl-D, and the 'q' key, color usage, readline keybinding support, and pipe output. The author notes that while not mandatory standards, understanding these rules helps predict terminal program behavior and reduces the learning curve. The article uses examples to analyze the applicability and exceptions to these rules, emphasizing the importance of distinguishing between a program's own responsibility and default OS behavior.

Read more