3 ms·
The reason is that POSIX shells are ugly and stupid, and fish syntax fixes (some of the) fundamental errors made in Bourne shell. Things like "${args[@]}" and o
by akho 5y ago
The reason is that POSIX shells are ugly and stupid, and fish syntax fixes (some of the) fundamental errors made in Bourne shell. Things like "${args[@]}" and other quoting and array-expansion syntaxes should not exist. Subshells are difficult and surprising. Weird keywords (esac) are weird.
Note how Plan 9 rc is also not POSIX.
Shell scripts have shebangs and work.
- yourad_io 5y ago> Shell scripts have shebangs and work. Exactly this - I feel like it is a common misconception. Even without shebang? `bash the_thing.sh` -> done. Writing a personal utility for myself? Unless it is dead simple I'll go with fish. It'll work with spaces in file names by default, I won't need `while < read`, etc. Writing anything I need to distribute? sh or bash I've been using fish for years and years and never once have I thought "oh man I wish this was POSIX" because POSIX was always 3 key strokes away if I really needed it: `sh<CR>` (which, I did not, unless I had to write a portable script and needed a repl)