Replace Last Command in Shell

By  on  

Whether I fat-finger a command or my MacBook Pro keyboard's keys don't want to respond like they should, I'm frequently misspelling commands.  What's more frustrating is that many of these commands are long, taking making fixing theme time-consuming.

Luckily a Twitter follower is looking out for me, providing me a quick command for fixing the misspelled command:

~ $ crul davidwalsh.name
-bash: crul: command not found
~ $ ^crul^curl
curl davidwalsh.name
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://davidwalsh.name/">here</a>.</p>
<hr>
<address>Apache Server at davidwalsh.name Port 80</address>
</body></html>

The ^ command usage above returns fixes the spelling from the previous command, executes the command, and as a bonus, adds the correct command to history.

Small tips like these and git checkout - make my command life experience so much better.  What's your favorite command line trick?

Recent Features

  • By
    Interview with a Pornhub Web Developer

    Regardless of your stance on pornography, it would be impossible to deny the massive impact the adult website industry has had on pushing the web forward. From pushing the browser's video limits to pushing ads through WebSocket so ad blockers don't detect them, you have...

  • By
    CSS vs. JS Animation: Which is Faster?

    How is it possible that JavaScript-based animation has secretly always been as fast — or faster — than CSS transitions? And, how is it possible that Adobe and Google consistently release media-rich mobile sites that rival the performance of native apps? This article serves as a point-by-point...

Incredible Demos

Discussion

  1. Hi David,

    someone pointed me to https://github.com/nvbn/thefuck/blob/master/README.md last time I complained.

    Kind regards

    André

  2. Daniel

    Hi David,

    it works fine, but does not update bash’s history

    My favorite command is CTRL-R and reuse older commands

    Abrazos, Daniel

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!