In the comments section of a recent post I found out that Windows PowerShell had been ported to Linux. Had no clue it was a thing.

Went looking and found this old article attempting to explain why they did it. Not remotely interested in giving up Bash for PowerShell, but I thought it was interesting enough to share. The article seems to be from 2016.

I have never been more tempted to check the NSFW box, but I’ll leave it open for now unless a mod complains. :-D

  • @[email protected]
    link
    fedilink
    232 months ago

    bash scripting is not intended to perform all of your logic in the scripting language, it’s intended to call out to other programs which perform specific tasks. The entire POSIX command set is your bash scripting language.

    Your script is a simple one-liner if you know some simple commands:

    $ head -n 1 /usr/share/dict/words | tee /dev/stderr | tr -d '\n' | wc -c
    A
    1
    
    
    • irelephant [he/him]🍭
      link
      fedilink
      4
      edit-2
      2 months ago

      I can do that as well:

      $l = Get-Content "example.txt" -TotalCount 1; Write-Output $l; ($l.TrimEnd("`r", "`n")).Length
      

      There’s a condensed version using aliases then:

      $l = gc 'example.txt' -TotalCount 1; $l; ($l.TrimEnd("`r", "`n")).Length
      

      I still think it has a better syntax than bash.

    • @[email protected]
      link
      fedilink
      82 months ago

      bash scripting is not intended to perform all of your logic in the scripting language

      Maybe not all, but it’s definitely intended to do some, and it’s really bad at it.

      • Possibly linux
        link
        fedilink
        English
        42 months ago

        It works fine for what it is. Bash is just a shell while Powershell is more of a scripting language.

        I think a better comparison would be Python vs Powershell.

        • @[email protected]
          link
          fedilink
          52 months ago

          It doesn’t work fine for what it is. People use Bash for scripting all the time and it’s full of footguns and gotchas. Powershell is just an attempt at a sane shell. It’s not meant to be a full general purpose language like Python; it doesn’t make sense to equate them.

          Personally I don’t really like the style of Powershell. The structured data is very obviously a good thing but I don’t really like the syntax. Nushell seems a lot nicer IMO.