Hacker News new | ask | show | jobs
by jakozaur 3676 days ago
Well given that we copy and paste a lot, by mistake there can be credentials and sensitive data in the bash history...

Moreover, bash history doesn't work nicely across different terminal tabs or computers.

Does anybody know a tool providing better command line history?

4 comments

How about just using bash?: http://unix.stackexchange.com/a/48116

There's several controls to make the bash history do what you want. The defaults are just a bit odd.

1. Regarding commands with credentials or sensitive info, bash allows you to prefix the command with a space character to omit saving the command to the history. This requires remembering this fact, and of course you get nothing in your history to refer to later.

2. I remember a HN submission for a piece of software (or collection of softwares?) that provided a centralized log of your command history across multiple machines. In this way, if you are working on multiple machines in a cluster, you can later search back through your histories from those machines in a single location. My Google Fu is failing me now though.

I have a little bit of bash to save my history files and a custom search, hss, to search across them. This makes the exposure an order of degrees, if it's in bash history already then it's going to hang around longer. If I weren't doing this if still have the same problem with bash's built-in/default history.

I started this in response to a HN post some years ago.

For better history across different terminal (on the same computer) you may want to try zsh
For better pretty much everything, one may wish to try zsh. It's pretty much a strict superset of bash, but better.

There is one aspect in which it's significantly worse, though: it's fiendishly difficult to configure and understand. I just use configs provided by others, which is not ideal but works.

bash (with all features) is also a strict superset of bash (with default configuration that people think is all there is to it, especially if they use macs [1]), but better.

[1] If you are using a mac and haven't installed a newer copy of bash you're using a version that's nearing on 10 years old and does indeed mostly suck.

Or fish shell! It's autocomplete is the bomb.