• zarkanian@sh.itjust.works
      link
      fedilink
      arrow-up
      6
      ·
      3 days ago

      Aliasing cat or any other ubiquitous shell utility to a replacement is a mistake. Garuda did this, and it was driving me crazy why cat was giving me errors. Turns out that they had aliased bat to cat, and since bat is a different program, it didn’t work in exactly the same way, and an update had introduced some unexpected behavior.

      Drop-in replacements are dumb. Just learn to use a different command.

      • janAkali@lemmy.sdf.org
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        2 days ago

        I think it’s ok to add this in a personal .zshrc, not on a distro level:

        If it breaks something - I’d probably know why and can easily fix it by removing alias/calling cat directly.

        Also, scripts almost always use bash or sh in shebang, not zsh. So it only triggers if I type cat in terminal.

        • psud@aussie.zone
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          It’s better to learn the new command, then it still works when you use a different machine that doesn’t have your alias

          • janAkali@lemmy.sdf.org
            link
            fedilink
            arrow-up
            1
            ·
            1 hour ago

            If you are me, there is no brain space for remembering new commands. I can already barely hold on to few dozens that I use often. And occasionally when I need “that one that does that niche thing… how was it?” program - I just sit there sifting through logs for couple minutes.

            Today it was od (tbh it’s od almost half the time; not really the best name to memorize (I really need to make a note or something, so I stop forgetting it, lol))

            Also, for this reason I went to great lengths to keep my ~/.zsh_history protected from being randomly deleted/overwritten by mistake, as it happened a couple of times. Currently it’s sitting at around 30_000 lines, oldest command is 2 years old.