Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Scripts will still work as long as they have the standard #!/bin/bash at the top.

Aliases - in .bashrc - unfortunately will need to be replaced by Fish functions; defined in the "~/.config/fish/config.fish" file by default.

The only real thing that keeps tripping me up with Fish is that it doesn't support shortcuts like "!$ ". I keep on typing that in, but due to the nature of Fish, it can't (or won't) recognise it. But the excellent history functionality does make up for this a fair bit.

Having said that, Fish is by far the best shell I've tried. I gave zsh a go for about half a year and got fed up with the autocompletion and general slowness. As a shell, Fish just behaves quickly and fairly naturally, with few exceptions (!$ ...).

I highly recommend it as an improvement over bash.



> I keep on typing that in, but due to the nature of Fish, it can't (or won't) recognise it. But the excellent history functionality does make up for this a fair bit.

I was interested in this comment so I looked into the documentation to find out why this is. Here's a link to the FAQ for anyone else interested:

http://ridiculousfish.com/shell/user_doc/html/faq.html#faq-h... (last question)


I'm a little sore that the FAQ Listed that as an alternative. That was how I did it in bash before I realized I could do "sudo !!" which was waaaaay more convenient.

It's a step backwards. Which I'm fine with, as long as you step forward again, in some way.


that works just as well I guess. But what if I want to make an alias for "sudo the last command"?



Wonderful!

I made a slight variation (and also posted it there):

      function .runsudo --description 'Run current command line as root'
        set cursor_pos (echo (commandline -C) + 5 | bc)
        commandline -C 0
        commandline -i 'sudo '
        commandline -C "$cursor_pos"
      end
      bind \es ".runsudo"
Instead of outright `execute`ing the command, the above would save the cursor position. You can (theoretically) bind `\cs` so control-s adds the sudo (instead of option-s), but I couldn't get it to work.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: