Shell Scripting for Developers
Practical guides and hacks for shell scripting and automation.
Pick a topic> learn("bash")
> learn("shell-scripting")
> learn("linux")
Browse by topic
Find posts on the subject you are working with.
Bash
Quoting, arrays, traps, parameter expansion and the other corners of Bash that decide whether a script works or only seems to.
Shell Scripting
POSIX sh, zsh and the portability gaps between them, for scripts that behave the same on a laptop, a server and a CI runner.
Linux
The Linux side of a developer's day: processes, files, permissions, services and what to check when a box misbehaves.
Command Line
Everyday terminal tools like grep, find, xargs and jq, shown with real examples you can paste and adapt.
Automation
Turn the chore you did three times this week into a script, a scheduled job or a small tool that runs without you.
Git
Branches, rebases, recovering lost commits and the hooks that make Git enforce your team's habits for you.
Docker
Images, Compose and the shell around them, from slimmer builds to debugging a container that exits immediately.
Python
Python for glue work: file handling, subprocesses and CLIs, plus how to tell when a shell script has outgrown itself.
Go
Small Go programs that ship as a single binary, for the day a fragile script deserves to be replaced.
DevOps
Deploys, releases, rollbacks and server upkeep, from the first rsync to a pipeline you trust on a Friday.
Text Processing
Cut, sort, sed and awk pipelines for reshaping logs, CSVs and config files without opening an editor.
Regular Expressions
Pattern matching across grep, sed, PCRE and Python, and the dialect differences that make the same expression fail.
Tools
Free developer tools
Format JSON, decode JWTs, test regex and more. Everything runs in your browser.
JSON Formatter and Validator
Pretty-print, minify and validate JSON, with the line and column of the first error. Sort keys to make two payloads comparable.
Open the toolJWT Decoder
Paste a JSON Web Token to read its header and payload, with exp, iat and nbf converted to dates. Nothing is sent anywhere.
Open the toolRegex Tester
Test a JavaScript regular expression against sample text: every match, its position, numbered and named groups, and a live replace.
Open the toolCron Expression Explainer
Paste a crontab schedule to see what each field means and the next eight times it will run, before it goes to production.
Open the toolLaravel APP_KEY and Secret Generator
Generate a Laravel APP_KEY in the base64: format, or a hex token, a URL-safe token or a password, from a secure random source.
Open the toolBase64 Encoder and Decoder
Encode text to Base64 or decode it back, with UTF-8 handled correctly and an option for the URL-safe alphabet used in JWTs.
Open the toolGet new posts by email
One email when a new post is published. No spam.