Skip to content
  • Categories
  • Recent
  • Tags
  • All Topics
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Caint logo. It's just text.
  1. Home
  2. linuxmemes
  3. Fish rules
Welcome to Caint!

Issues? Post in Comments & Feedback
You can now view, reply, and favourite posts from the Fediverse. You can click here or click on the on the navigation bar on the left.

Fish rules

Scheduled Pinned Locked Moved linuxmemes
fish
43 Posts 29 Posters 2 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C capricorn_geriatric@lemmy.world

    “non-POSIX compliant” = compliant with non-POSIX (whatever “non-POSIX” may be)

    “POSIX non-compliant” = not compliant with POSIX

    The best way to say what OP did would be a simple “not POSIX compliant”. Looking back, that’s exactly what was said in the post. The meme itself is, unfortunately a different story.

    Posix non-compliant was used in the meme because the author wanted to save on words in the puchline. “Using a shell not POSIX compliant” lacks a few words and is syntactically incorrect. “Using a POSIX non-compliant shell” saves on words, and is syntactically correct, but makes the sentence more complex.

    All in all, the “non-” prefix is a bit finicky in english and can usually be avoided.

    F This user is from outside of this forum
    F This user is from outside of this forum
    four@lemmy.zip
    wrote last edited by
    #10

    Wouldn’t it be more like “non POSIX-compliant”? That’s how I would understand it, though I’m not a native speaker

    Eager EagleE 1 Reply Last reply
    3
    • RmDebArc_5R RmDebArc_5

      fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.

      fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.

      Source

      D This user is from outside of this forum
      D This user is from outside of this forum
      dreugeworst@lemmy.ml
      wrote last edited by
      #11

      using nushell is my little rebellion against POSIX tyranny

      M 1 Reply Last reply
      1
      • S somerandomperson@lemmy.dbzer0.com

        I HIGHLY recommend using bash and zsh as posix-compliant shells at the beginning, then if you want something different; you can use whatever the hell you want. Nushell, fish, etc.

        I This user is from outside of this forum
        I This user is from outside of this forum
        interdimensionalmeme@lemmy.ml
        wrote last edited by
        #12

        WIll I be able to take my shell with on to every other computer I meet ? I mean, these things are tiny, but how portable are shells ?
        I don’t want to learn a bunch of useful custom commands and then become frustrated to do anything on every computer other than mine.

        That’s why I have a qwerty keyboard, I don’t want to become useless whenever I have to use a keyboard that isn’t my keyboard…

        S E 2 Replies Last reply
        2
        • RmDebArc_5R RmDebArc_5

          fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.

          fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.

          Source

          Hellfire103H This user is from outside of this forum
          Hellfire103H This user is from outside of this forum
          Hellfire103
          wrote last edited by
          #13

          Nah, fuck that. I’m using yash.

          J 1 Reply Last reply
          0
          • I interdimensionalmeme@lemmy.ml

            WIll I be able to take my shell with on to every other computer I meet ? I mean, these things are tiny, but how portable are shells ?
            I don’t want to learn a bunch of useful custom commands and then become frustrated to do anything on every computer other than mine.

            That’s why I have a qwerty keyboard, I don’t want to become useless whenever I have to use a keyboard that isn’t my keyboard…

            S This user is from outside of this forum
            S This user is from outside of this forum
            somerandomperson@lemmy.dbzer0.com
            wrote last edited by
            #14

            Shell configs are hard to move. Some in $HOME/.config , some in .[idk]rc files, etc.

            It’s messy. Unless you write everything you modify. If you did not do that up to now…good luck moving shell configs.

            I 1 Reply Last reply
            0
            • woelkchen@lemmy.worldW woelkchen@lemmy.world

              Fixed in fish 4.0 🙂

              *reinstalling Fish right now*

              woelkchen@lemmy.worldW This user is from outside of this forum
              woelkchen@lemmy.worldW This user is from outside of this forum
              woelkchen@lemmy.world
              wrote last edited by
              #15

              reinstalling Fish right now

              Alright:

              > /usr/bin/fish --version
              fish, version 4.0.1
              

              For whatever reason openSUSE doesn’t ship 4.0.2 despite the fact that it’s in its development repo since months. Oh well, could be worse.

              Kilgore TroutK 1 Reply Last reply
              0
              • S somerandomperson@lemmy.dbzer0.com

                I HIGHLY recommend using bash and zsh as posix-compliant shells at the beginning, then if you want something different; you can use whatever the hell you want. Nushell, fish, etc.

                woelkchen@lemmy.worldW This user is from outside of this forum
                woelkchen@lemmy.worldW This user is from outside of this forum
                woelkchen@lemmy.world
                wrote last edited by
                #16

                I HIGHLY recommend using bash and zsh as posix-compliant shells at the beginning

                Why? All the usual shell scripts don’t use Fish as interpreter.

                S 1 Reply Last reply
                6
                • S somerandomperson@lemmy.dbzer0.com

                  Shell configs are hard to move. Some in $HOME/.config , some in .[idk]rc files, etc.

                  It’s messy. Unless you write everything you modify. If you did not do that up to now…good luck moving shell configs.

                  I This user is from outside of this forum
                  I This user is from outside of this forum
                  interdimensionalmeme@lemmy.ml
                  wrote last edited by
                  #17

                  I have no shell configs of any kind
                  because it seemed like everytime I used another computer, I would not have them and I would end up having the re-learn everything.

                  So instead I google every command every time or ask chatgpt, like this

                  I find it very annoying there’s isn’t a reliable way to use alias or shells, functions and stuff.

                  tal@lemmy.todayT 1 Reply Last reply
                  0
                  • I interdimensionalmeme@lemmy.ml

                    WIll I be able to take my shell with on to every other computer I meet ? I mean, these things are tiny, but how portable are shells ?
                    I don’t want to learn a bunch of useful custom commands and then become frustrated to do anything on every computer other than mine.

                    That’s why I have a qwerty keyboard, I don’t want to become useless whenever I have to use a keyboard that isn’t my keyboard…

                    E This user is from outside of this forum
                    E This user is from outside of this forum
                    Ephera
                    wrote last edited by
                    #18

                    Fish is not the worst in this regard, because:

                    • The defaults are pretty good, so you don’t typically need a config file for it to be usable.
                    • As of version 4.0, Fish is (experimentally) available as a single executable for download from their GitHub page. So, even on hosts where you can’t install anything, you may still be able to copy that executable file onto there and use it.

                    But there may still be situations where it’s annoying, like if you’re working in a container, then you likely don’t want to mount your fish executable every time.

                    But I also have to say I don’t find it too big of a deal.
                    I still use Bash for scripting (just throw a #!/bin/sh or #!/bin/bash at the top of your script, like you should anyways), and then for interactive use, not that much of the shell syntax comes into play anyways.
                    And if I ever do need to copy a complex Bash command into an interactive shell, I can just run bash, then run the command in there and then exit back out.

                    1 Reply Last reply
                    3
                    • I interdimensionalmeme@lemmy.ml

                      I have no shell configs of any kind
                      because it seemed like everytime I used another computer, I would not have them and I would end up having the re-learn everything.

                      So instead I google every command every time or ask chatgpt, like this

                      I find it very annoying there’s isn’t a reliable way to use alias or shells, functions and stuff.

                      tal@lemmy.todayT This user is from outside of this forum
                      tal@lemmy.todayT This user is from outside of this forum
                      tal@lemmy.today
                      wrote last edited by
                      #19

                      I have no shell configs of any kind because it seemed like everytime I used another computer, I would not have them and I would end up having the re-learn everything.

                      What I do is store my dotfiles in a git repository, and leave symlinks to the files in that repository. Then, when I move to another computer, pulling over all my configuration consists of doing a git pull to pull the git repo over and then running a command to set up the symlinks on that new computer. I can also make changes and selectively push things in. Some things need to be specific to a computer, and those don’t go in.

                      I use a homebrew script to set up the symlinks. A number of people use GNU stow for this.

                      kagis for an example of someone using stow

                      https://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html?round=two

                      If you edit the symlinks in emacs (and I imagine vim), it picks up on the fact that they’re symlinks into a git repository and that they’re version-controlled.

                      So, like:

                      • Have a bare git repository on home machine, the “master” copy.

                      • Every machine with an account has a non-bare dotfiles git repository checked out and symlinks pointing into that repo.

                      • Make any changes on a given machine like you normally would, then git commit them to the local non-bare dotfiles git repo and push them to the master repository.

                      • If setting up on a new machine, pull the git repository, and then run the command to set up the symlinks.___

                      I 1 Reply Last reply
                      0
                      • F four@lemmy.zip

                        Wouldn’t it be more like “non POSIX-compliant”? That’s how I would understand it, though I’m not a native speaker

                        Eager EagleE This user is from outside of this forum
                        Eager EagleE This user is from outside of this forum
                        Eager Eagle
                        wrote last edited by
                        #20

                        This is the way I see it too. Treat “POSIX-compliant” as an adjective and negate it.

                        1 Reply Last reply
                        1
                        • woelkchen@lemmy.worldW woelkchen@lemmy.world

                          reinstalling Fish right now

                          Alright:

                          > /usr/bin/fish --version
                          fish, version 4.0.1
                          

                          For whatever reason openSUSE doesn’t ship 4.0.2 despite the fact that it’s in its development repo since months. Oh well, could be worse.

                          Kilgore TroutK This user is from outside of this forum
                          Kilgore TroutK This user is from outside of this forum
                          Kilgore Trout
                          wrote last edited by
                          #21

                          Ask the maintainer to push the update to Factory.

                          woelkchen@lemmy.worldW 1 Reply Last reply
                          1
                          • woelkchen@lemmy.worldW woelkchen@lemmy.world

                            I HIGHLY recommend using bash and zsh as posix-compliant shells at the beginning

                            Why? All the usual shell scripts don’t use Fish as interpreter.

                            S This user is from outside of this forum
                            S This user is from outside of this forum
                            somerandomperson@lemmy.dbzer0.com
                            wrote last edited by
                            #22

                            No posix compliance is a headache. (Where the hell are my aliases!?)
                            And also most scripts need to be executed in a posix-compliant shell.

                            dreadbeef@lemmy.dbzer0.comD 1 Reply Last reply
                            3
                            • S somerandomperson@lemmy.dbzer0.com

                              No posix compliance is a headache. (Where the hell are my aliases!?)
                              And also most scripts need to be executed in a posix-compliant shell.

                              dreadbeef@lemmy.dbzer0.comD This user is from outside of this forum
                              dreadbeef@lemmy.dbzer0.comD This user is from outside of this forum
                              dreadbeef@lemmy.dbzer0.com
                              wrote last edited by
                              #23

                              why use aliases (they exist in fish) when you can use abbreviations and your history isnt determined by whatever you set your aliases up as? If you change an alias, your history does not reflect that. If you use abbreviations, your history is perfectly usable

                              S 1 Reply Last reply
                              2
                              • dreadbeef@lemmy.dbzer0.comD dreadbeef@lemmy.dbzer0.com

                                why use aliases (they exist in fish) when you can use abbreviations and your history isnt determined by whatever you set your aliases up as? If you change an alias, your history does not reflect that. If you use abbreviations, your history is perfectly usable

                                S This user is from outside of this forum
                                S This user is from outside of this forum
                                somerandomperson@lemmy.dbzer0.com
                                wrote last edited by
                                #24

                                The fuck is an abbreviation? Is it a knock-off alias?

                                dreadbeef@lemmy.dbzer0.comD 1 Reply Last reply
                                0
                                • S somerandomperson@lemmy.dbzer0.com

                                  The fuck is an abbreviation? Is it a knock-off alias?

                                  dreadbeef@lemmy.dbzer0.comD This user is from outside of this forum
                                  dreadbeef@lemmy.dbzer0.comD This user is from outside of this forum
                                  dreadbeef@lemmy.dbzer0.com
                                  wrote last edited by dreadbeef@lemmy.dbzer0.com
                                  #25

                                  basically a text expansion. I have g=git, so when I type “g push” after I hit space after g, it expands it to git in the terminal as if i just typed out git myself. My history doesnt show “g push” it shows “git push” before I push enter

                                  https://fishshell.com/docs/current/cmds/abbr.html

                                  F 1 Reply Last reply
                                  5
                                  • RmDebArc_5R RmDebArc_5

                                    fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.

                                    fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.

                                    Source

                                    A This user is from outside of this forum
                                    A This user is from outside of this forum
                                    acockworkorange@mander.xyz
                                    wrote last edited by
                                    #26

                                    POSIX shell sucks ass. Just because there are many worse options doesn’t make it any better.

                                    J 1 Reply Last reply
                                    2
                                    • RmDebArc_5R RmDebArc_5

                                      fish, the friendly interactive shell, is a commandline shell intended to be interactive and user-friendly.

                                      fish is intentionally not fully POSIX compliant, it aims at addressing POSIX inconsistencies (as perceived by the creators) with a simplified or a different syntax. This means that even simple POSIX compliant scripts may require some significant adaptation or even full rewriting to run with fish.

                                      Source

                                      B This user is from outside of this forum
                                      B This user is from outside of this forum
                                      bitwolf
                                      wrote last edited by
                                      #27

                                      #!/bin/sh #!/bin/bash?

                                      T 1 Reply Last reply
                                      7
                                      • A acockworkorange@mander.xyz

                                        POSIX shell sucks ass. Just because there are many worse options doesn’t make it any better.

                                        J This user is from outside of this forum
                                        J This user is from outside of this forum
                                        unalivejoy
                                        wrote last edited by
                                        #28

                                        I love my bash-isms.

                                        1 Reply Last reply
                                        2
                                        • M marafon@sh.itjust.works

                                          I just switched to fish for the pretty colors and quality of life features. Anything I should keep in mind while using it as a Linux noob? I don’t even know who POSIX is lol.

                                          N This user is from outside of this forum
                                          N This user is from outside of this forum
                                          nalivai@lemmy.world
                                          wrote last edited by
                                          #29

                                          zsh with oh-my-zsh addon can do the same amount of pretty colours and qol stuff, with the addition of being POSIX compliant. Not that fish is bad or anything, but you don’t want additional troubles with random incompatibility on top of the usual learning curve.

                                          1 Reply Last reply
                                          3
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • All Topics
                                          • Popular
                                          • World
                                          • Users
                                          • Groups