• @[email protected]
    link
    fedilink
    129 months ago

    This may be the wrong place to ask, but what am I missing about shells? Other than executing commands, what do you do with them?

    • @[email protected]
      link
      fedilink
      139 months ago

      Many Linux users spend a considerable amount of time using the command line interface, so the right shell configuration can make them much more productive.

    • hallettj
      link
      fedilink
      English
      119 months ago

      I think the best way to get an idea is to look at feature lists for fancy shells like zsh or fish. But in short there are a number of things a good shell can do to help to execute commands faster and more easily. Stuff like autocompletions which make you faster, and also make things more discoverable; fuzzy searching/matching; navigating command history; syntax highlighting which helps to spot errors, and helps to understand the syntax of the command you’re writing.

      • @[email protected]
        link
        fedilink
        49 months ago

        I use fish mainly just for the quality of life increase that its predictive features and command history give. I also really like that it uses functions to play the role of aliases, and it’s super easy to write and save new functions on the fly.

        That said… I haven’t put in the time to really learn its nuances and I still write shell scripts using bash. Maybe I’m doing it wrong, but it works for me.

    • @starmanOP
      link
      English
      89 months ago

      Execute complicated commands, wrire scripts, automate tasks, etc.

    • density
      link
      fedilink
      49 months ago

      The GUI is “graphical user interface”. The cli is “command line interface”.

      In the GUI you have different DEs/DMs/WMs and people have strong feeling about them. Even though you can execute commands in all of them about equally Ya?

      Well the shell is the DE for your terminal.

      • @[email protected]
        link
        fedilink
        29 months ago

        Got it, I was wondering because I’m pretty comfortable using the CLI but I’ve never gotten into it at a level where the shell made a huge difference in my experience. Maybe if I was a sysadmin I’d feel differently.

        • density
          link
          fedilink
          5
          edit-2
          9 months ago

          I got into zsh because there was all this flashy oh my zsh stuff. But I am thinking of moving back to bash, because GPL and liberty. I don’t really use all the fancy zsh addons or whatever. And I don’t do enough advanced scripting stuff to notice the difference. I’ve also heard fish has a lot of useful features.

          I’m not an admin but someone else here pointed out that this would probably be a bad choice for an admin. You can’t just go installing whatever toys you prefer on every system, especially if it isn’t yours. An admin has to be very comfortable with standard tools. Maybe more like a developer (which I’m also not) who spends a lot of time on one system which they control.

          I’ve been using xfce for years and I’m barely ever even tempted to give anything else a go. xfce is the perfect DE for me and I just stumbled into it. Maybe you stumbled in to your perfect shell.

    • @[email protected]
      link
      fedilink
      29 months ago

      You can do most things by combining simple cmdline tools. E.g. filter out some specific lines from all files in a directory, get the value after the second :, write those to another file and then sort, deduplicate and count them.

      This may sound complicated, but it’s pretty easy and fast if your are familiar with a shell. To be that efficient with your shell you want it to actually be powerful and not just a plain text input. Also writing cmdline tools is rather easy compared to a usable GUI tool.

      • @[email protected]
        link
        fedilink
        English
        19 months ago

        Genuine question: why not use grep, awk, sed, or any of the other gnu tools that can already do that?

        • @[email protected]
          link
          fedilink
          19 months ago

          That’s what I meant, using your shell to run command line tools to solve your issue at hand. And having a powerful shell with e.g. context dependend autocomplete (and a lot more) helps to speed up that task.

        • @[email protected]
          link
          fedilink
          19 months ago

          You could, but maybe a good shell makes it easier than the external tool. Or maybe you use the shell to effectively combine the inputs and outputs of the other tools.

          • @[email protected]
            link
            fedilink
            English
            19 months ago

            I guess that’s convenient if you’re only ever on one machine, I prefer commands that work (almost) everywhere!

            • @[email protected]
              link
              fedilink
              29 months ago

              Me too. I could never get into nushell or fish because they’re not posix and I don’t need to learn two ways to do something.