I’ve done something similiar to this over the years for organization purposes and not having to change much between shells except add a path. You can also add cases that check your shell and do something slightly different if needed.

  • commander@lemmings.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    9 hours ago

    Aliasing anything seems like an unnecessary abstraction in just about every instance.

    Glad I don’t come across it or much other unnecessary stuff in my work.

  • QuizzaciousOtter@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    1 day ago

    I have never heard of anyone using aliases for anything but trivial one-liners. I don’t think people consider them as an alternative to scripts so I don’t really get the point of half of this post.

    However, the part explaining the benefits of using scripts over aliases even for trivial one-liners is pretty neat.

        • BeardedGingerWonder@feddit.uk
          link
          fedilink
          English
          arrow-up
          0
          ·
          24 hours ago

          Mostly because there’s a profile everyone sources that’s relatively straightforward to that’s straightforward to get access to. Whereas I’d never get root level access.

          • Ferk@lemmy.ml
            link
            fedilink
            arrow-up
            0
            ·
            edit-2
            13 hours ago

            You don’t need root level access though. What I usually do is stick a PATH="$PATH:$HOME/.local/bin and then place all the scripts in there.

            • BeardedGingerWonder@feddit.uk
              link
              fedilink
              English
              arrow-up
              0
              ·
              12 hours ago

              Wouldn’t that require me to have access to everyone’s home directory and need to dump the scripts in everyone’s?

              Potentially I could set up an alt bin directory everyone has access to and configure that in the shared profile, the only drawback there is it might be less obvious whats going on if something breaks and someone else needs to take a look at it.

    • Ricaz@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      I agree. My .zshrc is littered with functions. Most useful ones are my pack and extract I made ~10 years ago, they just recognize file extension and use the correct tool.

      • PseudoSpock@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        0
        ·
        24 hours ago

        I even wrote a function to parse a json for some configuration details, and loop through it to dynamically create more named functions from that json profile. I use it at work for automating my cloud account logins with a single profile name from the command line. :)

  • 柊 つかさ@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    1 day ago

    I like fish abbreviations. They are like aliases but expand when you press space or enter. That way you can edit it, and also still see the full command so you are less likely to forget it when you don’t have your aliases. Of course I have some scripts as well.

    • markstos@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      1 day ago

      And: Fish implements aliases as scripts! When you use alias —save, fish creates as script with a function in it.

    • Asparagus0098@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      I actually use both in fish. I use aliases for some longer commands. For example I have la as an alias for eza -la --icons=auto --group-directories-first because I don’t really want to see it every time I run la. I use abbreviations for some shorter commands. For example systemctl abbreviated to sys and systemctl --user abbreviated to sysu.

    • lemmeBe@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      1 day ago

      Thanks for this info! Didn’t know about it! 😃

      I use zsh with aliases, and Atuin which I find very convenient.

      I’ll definitely try out fish abbr in combo with aliases. Logic in aliases is great.

    • Fisch@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      I use ZSH with plugins but back when I switched away from bash, I also looked at fish. I didn’t use it back then because people say it doesn’t follow the POSIX standard but is that really an issue? It probably only extends it instead of taking things away, right?

      • deadcream@sopuli.xyz
        link
        fedilink
        arrow-up
        0
        ·
        1 day ago

        All POSIX compatible shells have their quirks and differences because the common POSIX part is rather small, so you will need to learn them anyway when switching from one to another. Fish is not that different from them (to much less extent than something like nushell) and it benefits from having less ancient baggage.

      • exu@feditown.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 day ago

        I still write most scripts for bash, but for interactive use fish is just so much better out of the box.

        • nycki@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 day ago

          this is my sticking point with fish. I still need to know bash for writing portable scripts, so its hard to justify scripting in fish.

          • logging_strict@lemmy.ml
            link
            fedilink
            arrow-up
            0
            ·
            12 hours ago

            that’s actually a really good argument for not using either.

            Taking a step back discussing shells seems like a never ending hell loop.

            Sometimes the only way to win is not to play the game.

            Use python and stop being stuck in the distant past.

      • 柊 つかさ@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        1 day ago

        Unless you have a particular reason for sticking to POSIX, who cares? I’ll take the user experience improvement without worry.

        • Ferk@lemmy.ml
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          13 hours ago

          The thing is that, if you are not sticking to POSIX, you might as well use more widely available alternative scripting languages like perl or python, which are often included in most workspaces by default, so I’d say it’s more useful to get experienced in those than to get experienced in fish.