I am currently looking for a way to easily store and run commands, usually syncing files between two deeply nested directories whenever I want.
So far I found these projects:
Other solutions:
- Bash history using ^+r
- Bash aliases
- Bash functions
What do you guys use?
I did not know any of the programs mentioned in the post, but some of them seem really nice. Can someone who thinks aliases are a better solution please explain why they think so and what is their advantage over these projects? Do they have any pitfalls that you are aware of?
I believe that if I use a command sparsely enough, I will forget the created alias name just a few days later than the actual command.
Bash is a shell but it’s also a programming language, so between functions, aliases and scripts you can do anything you want without depending on an external program that might break, not be maintained anymore and you need to install everytime you reinstall, a machine.
I just have to restore my .bashrc and ~/bin…
I think that there are definitely valuable/valid use cases for the software in the OP, but I think that the built in bash tools can get most people most of the way there. And learning the common bash/shell conventions is way more valuable than learning a custom tool that some distros/environments won’t support.
If someone already uses aliases, creates some custom scripts, and sets some useful environment variables (along with effective use of piping and redirection) and still needs something more specialized, then getting a new tool could help.
The downsides are a reliance on another piece of software to use the terminal. So I would only use something like this if I had a really solid and specific use case I couldn’t accomplish with what I already use.