A long list of tiny scripts may not sound like news, but it captures a durable reality of software work: developers often rely on personal utilities that never become products yet quietly shape their day. In a post on evanhahn.com, the author lays out a collection of shell scripts and aliases he uses repeatedly, from clipboard helpers to directory shortcuts and quick cleanup tools.
The list is interesting because it shows where day-to-day productivity actually comes from. It is not only about big editors, cloud platforms, or elaborate automation systems. It is about small habits encoded into commands: copying the current directory into the clipboard, creating a directory and entering it in one step, hopping into a temporary working folder, or moving files to the trash instead of deleting them outright.
Several of the examples point to the same design principle. The best scripts remove one decision, one typo, or one repetitive sequence. A command like `mkcd` replaces the common pattern of making a directory and then changing into it. `cpwd` makes it easier to move between terminal tabs. `trash` lowers the risk of irreversible deletion. `scratch` opens a throwaway editing buffer for quick text manipulation. None of these tools is novel in the abstract, but together they reduce the small frictions that pile up over a workday.
The post also shows how environment-specific these helpers can be. Some utilities depend on macOS or Linux clipboard managers. Others wrap local server, media, or conversion tools. That matters because it suggests these are not universally standardized workflows; they are personal adaptations to the tools and operating systems a developer actually uses. The scripts are less a formal framework than a record of accumulated practice.
There is also a maintenance lesson here. The author notes that many of the scripts were created with another helper, `mksh`, which bootstraps new shell scripts with the right permissions and editor setup. That means the toolset is self-reinforcing: one utility makes it easier to write the next one. Over time, a developer can create a small ecosystem of commands tailored to recurring work.
The broader takeaway is that productivity gains often come from reducing context switching. A command that saves five seconds may not look significant on its own, but a command used every day can eventually save hours. More importantly, it can reduce cognitive overhead by turning a repeated decision into muscle memory.
This kind of personal tooling is common in engineering culture, yet it is rarely visible outside an individual’s machine. Posts like this are useful because they surface the actual workflow scaffolding behind software work: not the glamorous parts of building products, but the boring commands that make the rest of the job easier.
In that sense, the article is less about shell scripts as a category and more about the value of self-made tools that match the way one person works. That can be as simple as a safer delete, a cleaner scratchpad, or a faster path into a temp directory. The tools are small; the accumulated effect is not.


