5 ms·
I quite like fish and have been using it painlessly for nearly 6 months now. I wish fish included an actual programming language that could replace bash scripts
by leorocky 12y ago
I quite like fish and have been using it painlessly for nearly 6 months now. I wish fish included an actual programming language that could replace bash scripts, but the sane advice from fish devs is to use a real programming language instead of bash or another shell script. Other than that I've become quite dependent on the nice autocomplete and suggestions from fish. It just works and I never have to deal with any problems once you get over the initial learning curve bump which isn't that big.
- estebanrules 12y agoI've been thinking about trying out Fish shell for awhile, though I have zsh setup to my liking. Concerning Xiki, it definitely remind me of Emacs org mode / shell.
- estebanrules 12y agoI've been thinking about trying out Fish shell for awhile, though I have zsh setup to my liking. Concerning Xiki, it definitely remind me of Emacs org mode / shell.
- lloeki 12y agoFish is interesting and grows on you but suffers from a number of showstopper bugs (e.g [0]) that prevent me from using it. [0]: https://github.com/fish-shell/fish-shell/issues/1374 https://github.com/fish-shell/fish-shell/issues/1374
- omaranto 12y agoI used fish for several years and fortunately never came across that one. It's pretty awful.
- barrkel 12y agoYou can go a long way with bash; it's worth learning because it lets you glue tools written in different "real" languages together very easily, as long as they all talk text. There aren't many other languages specifically designed for process control, orchestration and piping. I don't like fish because it has almost no features, compared with bash.
- simias 12y agoI've never understood why anyone would inflict oneself with bash scripting. If you really need something portable you should use standard /bin/sh anyway since bash is not installed by default everywhere (I believe many linux distros don't even ship with bash anymore, but a lightweight clone called "dash"?). And if you don't care about portability out of the box, why not use... Well basically anything else? Perl, python, ruby, lua, scheme, whatever. The only shell scripts I ever write are basically a list of command to execute sequentially. If I need something more complex (control flow, user input, proper error handling, nontrivial string manipulation) I switch to some other programming language, it's just not worth the pain.
- Tyr42 12y agoI don't know, I feel like POpen and friends in python just aren't as nice as doing 'thing-one | thing-two' kinda stuff, with some ifs, and some variables.
- jzwinck 12y agoMany Linux distros ship with /bin/sh being dash, but they also come with /bin/bash. A lot of scripts obviously depend on bash, so distro maintainers have had to either fix them to depend only on POSIXy "sh" or just put #!/bin/bash at the top. The reason to use dash instead of bash is speed and to a lesser extent memory usage. The goal isn't to stop needing bash, it's to speed up boot times etc. Or at least it was five years ago when this transition was happening.
- barrkel 12y agoWhen I write scripts, I often need to execute programs written in different languages. Writing such scripts in a languages like Python and Ruby is very clumsy. Whereas the scripts I write in Ruby tend to rely heavily on a bunch of gems that add enormously to startup time. These scripts also often end up as stages in a pipeline executed from bash. Fork/join shared-nothing parallelism is also very easy to do in bash, and is how I normally use more cores to get jobs done more quickly.
- 59nadir 12y ago