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

  • woelkchen@lemmy.world
    link
    fedilink
    arrow-up
    12
    ·
    22 hours ago

    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.

    • somerandomperson@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      9 hours ago

      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.

      • Zozano@aussie.zone
        link
        fedilink
        English
        arrow-up
        10
        ·
        edit-2
        7 hours ago

        Most scripts need to be executed in a posix-compliant shell

        Simple. Just add #!/bin/bash to the start of your script and call it a day.

        Or use #!/usr/bin/env bash if you’re goated with the sauce. This won’t work if you’re not goated with the sauce.

        Those who are goated with the sauce know what’s up.

      • dreadbeef@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        7 hours ago

        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