• @[email protected]
    link
    fedilink
    111 year 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
      121 year 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
      101 year 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
        31 year 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.

    • density
      link
      fedilink
      41 year 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
        21 year 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
          4
          edit-2
          1 year 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
      21 year 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
      2
      edit-2
      1 year ago

      …so you’re locked in ever since? 🤪 Is it a serious case of Stockholm Syndrome or do you like it?

      • @[email protected]
        link
        fedilink
        English
        21 year ago

        My workflow works the best in bash/zsh shells. Shells that are too different are too much of a change. I like fish as well. Probably a touch of Stockholm Syndrome too haha

  • hallettj
    link
    fedilink
    English
    51 year ago

    Well I might be hooked. It didn’t take me long to reproduce the niceties in Nushell I’m used to from my zsh config. Some of the important parts were setting up zoxide with a key binding for interactive mode, switching on vi key bindings, setting up my starship prompt.

    Home Manager is preconfigured for the above integrations which made things easier.

    One feature that is missing that I like to use is curly brace expansion to produce multiple arguments. For example,

    $ mv *.{jpg,jpeg}
    

    Unless there is a way to do something like this in Nushell that I haven’t seen yet?

    Something I enjoyed was automating a sequence of steps I’ve been running a lot lately due to a program that often partially crashes,

    def nkill [name_substring] {
      ps | where name =~ $name_substring | each { |p| kill $p.pid; $p }
    }
    

    I realized after writing this that I basically recreated killall -r. But it’s nice that it was so easy to make a custom command to do a very specific thing. And my version gives me a nice report of exactly what was killed.

    Thanks for making this post OP! When I’ve heard mentions of Nushell I’m the past I think I conflated it with Powershell, and wrote it off as a Windows thing. (Maybe because it’s introduced as being “like Powershell”.) But now that I see that it’s cross-platform I’m enjoying digging into it!

  • @[email protected]
    link
    fedilink
    English
    4
    edit-2
    1 year ago

    It’s cool, I just gave it a go, but I’m not sure it’s gonna happen that I’ll transition from

    ls -lrt (this does not work in NuShell)

    to

    ls | sort-by modified | reverse

    • hallettj
      link
      fedilink
      English
      21 year ago

      So maybe this is too much of a kludge, but I happened to see that you can define custom sub-commands to extend existing commands. You can use that to reproduce your familiar command:

      def "ls -lrt" [] {
        ls | sort-by modified | reverse
      }
      

      Of course this does not capture the usual composability of those switches.

      • @[email protected]
        link
        fedilink
        51 year ago

        While your argument is valid, most bash users I know are lazy bitches and tend to alias commands which require to type more than 5 letters. I guess NuShell lower the bar for NuUsers, but of I have to remember either single letters or puppy it through longer commands, I world opt for single letters.

      • @[email protected]
        link
        fedilink
        English
        11 year ago

        Totally - for new users it’s great… similarly, I would have loved to start typing on Dvorak.

        My problem might be one of age, but there is no way I’m gonna retrain myself after 20+ years of typing that specific ls command… ;)

  • @[email protected]
    link
    fedilink
    31 year ago

    Powershell for those that don’t like powershell. Good. Pwsh need some competition in the object-piping category.

  • @[email protected]
    link
    fedilink
    21 year ago

    Definitely an interesting project especially for those Linux users that mostly stick to one machine and like to experiment with new features.
    For the regular sys admin type of person that needs to jump from one Maschine to another it’s probably a little too non-standard and hard to get productive with

  • @Hawk
    link
    11 year ago

    If you want something more Unix like and less PowerShell (but absolutely not POSIX), checkout Elvish.