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?

  • jakoma02@czech-lemmy.eu
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    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.

    • arcimboldo@lemmy.sdf.org
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      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…

    • SymbolicLink@lemmy.ca
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      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.