FISH (Friendly Interactive Shell) by Bash Boomer

  Рет қаралды 232,820

Luke Smith

Luke Smith

Күн бұрын

Пікірлер: 425
@LukeSmithxyz
@LukeSmithxyz 3 жыл бұрын
URGENT! Read this: lukesmith.xyz/deletion
@Magnus_E
@Magnus_E 3 жыл бұрын
holy canoly man hahaah thanks for telling, returned to ur channel after a loooong time :D stay strong and healthy !
@YandryPozo
@YandryPozo Жыл бұрын
not found error on that link
@YandryPozo
@YandryPozo Жыл бұрын
@Max შემიწყალე you are the kind of person that reads an email with subject Urgent
@YandryPozo
@YandryPozo Жыл бұрын
@Max შემიწყალე you have bought so many gift cards from Target
@nirgunawish
@nirgunawish 2 ай бұрын
10:50 bruh same i never expected you to do that
@alexxmde
@alexxmde 5 жыл бұрын
Family tell you to go fishing because you never leave your shell... And that's how you react
@kofteistkofte
@kofteistkofte 5 жыл бұрын
I'm using FISH for 2 years and I'm really happy with it. At the start it was bit strange to change the things I do but at the end, I'm perfectly happy with it. Also, you can chage your default shell with "chsh -s /usr/bin/fish"
@raresdobre2497
@raresdobre2497 5 жыл бұрын
Nvim and fish? What are you, a zoomer?
@raresdobre2497
@raresdobre2497 5 жыл бұрын
@@MoonNuggetFilms /g/ redpilled me about it. The speed difference between it and vim is huge. I'd use kakoune but Ctrl-space is too comfy
@himselfe
@himselfe 5 жыл бұрын
@@MoonNuggetFilms: there is a third option.. might be in bed with a sexbot.
@douwehuysmans5959
@douwehuysmans5959 5 жыл бұрын
Vim with Emacs bindings, Very Nice
@PabloAndresDealbera
@PabloAndresDealbera 5 жыл бұрын
@@jdegreef says you. I'm on the bed with Arch GNU/Linux. Did I tell you I use Arch?
@jan_harald
@jan_harald 5 жыл бұрын
@@jdegreef ahem, there are linux 4 android apps (without root too), and you can ssh...so not a real excuse ;p
@sethcenterbar
@sethcenterbar 5 жыл бұрын
zsh user here. I had no idea about the - for arguments, that is phenomenal.
@daleryanaldover6545
@daleryanaldover6545 Жыл бұрын
4 years later, same zsh user here. I am shocked 😮
@Cobalt985
@Cobalt985 5 жыл бұрын
I literally only use it for colours and autocomplete
@riley3269
@riley3269 5 жыл бұрын
zsh syntax highlighting and autocomplete can be set in a few seconds. Plus it is POSIX compliant.
@riley3269
@riley3269 4 жыл бұрын
@@jamesbissick3439 Why?
@Mustafa-gd2rp
@Mustafa-gd2rp 4 жыл бұрын
​@@7yep4336dfgvvh So you would switch to fish, run cd with autocomplete, then switch back to bash? 3 commands to run 1, that means 3 times the effort and time, things that all of these shells are trying to optimize
@nykal1510
@nykal1510 3 жыл бұрын
@Mohamed Haddi Why do you write fish scripts? I have /usr/bin/sh linked to dash so scripts use it, but use bash as my default shell. That way scripts run efficiently - dash is unusable in a terminal but it's fast
@porky1118
@porky1118 3 жыл бұрын
You forgot the most important feature: If a program outputs something, which doesn't end with a newline, fish automatically adds a newline, and indicates, that it was put by fish.
@MaazAhmed
@MaazAhmed 3 жыл бұрын
2019: "I might end up using Fish anyway" ( 11:34 ) 2021: "The fish shell is not a shell and is cringe to use" (kzbin.info/www/bejne/bnK0oJWmpt6Gd7c)
@francescovolpini
@francescovolpini 3 жыл бұрын
i think people know what he thinks about it now?
@desktorp
@desktorp 5 жыл бұрын
WANTED: pcfish (POSIX-Compliant Friendly Interactive Shell)
@Newbyte
@Newbyte 5 жыл бұрын
May I know why?
@giuseppelamalfa2966
@giuseppelamalfa2966 5 жыл бұрын
@@Newbyte interoperativity is cool
@riley3269
@riley3269 5 жыл бұрын
Zsh
@cmplstofB
@cmplstofB 5 жыл бұрын
I think ble.sh on Bash is a nice project.
@singha360
@singha360 5 жыл бұрын
There's Fizsh
@yamahaespen
@yamahaespen 5 жыл бұрын
For people that have limited experience with Linux like myself fish made me like using the terminal a lot more. It's just way more interactive and nicer to look at as soon as you improve the color palette. Some of the default colors are too sharp, especially the red and the dark blue
@valbogda5512
@valbogda5512 5 жыл бұрын
I love fish :) I've been using it for 3 or 4 years now and can't imagine anything else supplanting it for me. People should check out the design principles of fish and then try it for themselves. They really deliver.
@samuelwaller4924
@samuelwaller4924 6 ай бұрын
One of them is literally "Configurability is the root of all evil" lmao you're kidding, right
@valbogda5512
@valbogda5512 6 ай бұрын
@@samuelwaller4924 It's not that extreme. FISH is perfectly configurable.
@Noname-67
@Noname-67 5 ай бұрын
​@@samuelwaller4924 source?
@valbogda5512
@valbogda5512 5 ай бұрын
@@samuelwaller4924 It's not that extreme. Fish is perfectly configurable.
@edvonrattlehead2135
@edvonrattlehead2135 3 жыл бұрын
And this video will now get a crapton of views
@bool2max
@bool2max 5 жыл бұрын
Nice, a fish video. I switched to it a couple of weeks ago and seriously the best thing is that variables with spaces inside them, e.g. set -l name "Some Name" expand to only 1 argument in the shell: e.g. rm $name would actually expand to rm "Some Name" can't look back at traditional shells since
@bool2max
@bool2max 5 жыл бұрын
​@@bashisobsolete.pythonismyn6321 Yeah a lot of stuff is more readable ootb, for example you can redirect stderr with a carret (^), but for some reason they deprecated that in the latest release.
@johnandaway
@johnandaway 5 жыл бұрын
Just so that people know, POSIX sh supports this as well, using a “special” syntax: rm "$name"
@supersonictumbleweed
@supersonictumbleweed 5 жыл бұрын
Thanks for letting me know why I'd hate fish before I even install it. This would make most of my scripts unusable
@bool2max
@bool2max 5 жыл бұрын
@@supersonictumbleweed It wouldn't. Putting variables inside of doublequotes still expands the variable normally, just like in bash.
@supersonictumbleweed
@supersonictumbleweed 5 жыл бұрын
@@bool2max so it's inverted, great
@YTNoobProductions
@YTNoobProductions 5 жыл бұрын
I use fish myself, both at home and at work. I suggest writing scripts in bash or sh and using fish only as an interactive shell. I have the my users shell set to fish in /etc/passwd and as long as your scripts have the bash or sh shebang (#!/bin/bash or #!/bin/sh) as the first line in them you will be fine, because then they will be interpreted by those anyway. When I was using zsh I even tried it out in larbs and everything (except for the .bashrc stuff of course) seemed to be working properly. Fish is really convenient if you use the command line a lot, but personally I want my scripts to be POSIX compliant, because they work on more systems that way and I need them to do that at work. In some distros /bin/sh points to bash, but in debian and it's derivatives /bin/sh points to dash (debian almquist shell or whatever) for example. Both of those can run POSIX compliant scripts as far as I know, so they will function the same way. TL;DR: When you want to switch your interactive shell, then make sure your scripts have the shebang in front of them and you will only need to worry about rewriting your bashrc.
@WINTERMUTE_AI
@WINTERMUTE_AI 5 жыл бұрын
Love the colors, reminds me of my old Commodore 64 BBS days. :)
@migue7490
@migue7490 5 жыл бұрын
I'm currently using zsh and I moved to i3 from KDE, enough changes for now XD, but I'll take a look at this. Nice vid.
@p6n7l
@p6n7l 3 жыл бұрын
now keep zsh and switch to xmonad
@mgord9518
@mgord9518 3 жыл бұрын
Now switch to plan9
@porky1118
@porky1118 4 жыл бұрын
I started using fish a few weeks ago, and it didn't take long until I set fish as the default shell for all my systems and profiles
@johnandaway
@johnandaway 5 жыл бұрын
There are two reasons why I don’t use fish: it’s slow, and it uses a syntax that isn’t familiar to me, nor POSIX compatible. While I like the ideas behind fish - a pre-configured, usable shell with powerful auto-completion - I just wish it were POSIX-compatible.
@lordadamson
@lordadamson 5 жыл бұрын
Why is POSIX compatibility important?
@mina86
@mina86 5 жыл бұрын
@@lordadamson, for me it’s important because I tend to write shell scripts which I distribute with others. If I write them in POSIX shell, I can make them work on pretty much any modern Unix-like system without that much hassle. However, having to switch syntaxes between POSIX - when writing scripts - and fish - when in interactive shell - puts too much cognitive load as is not worth having syntax highlighting on the prompt.
@cosmojg
@cosmojg 5 жыл бұрын
At the very least, fish is faster than bash.
@johnandaway
@johnandaway 5 жыл бұрын
Adam Zahran: It’s great because it’s portable and works everywhere, which is important for me, but of course, not for everyone (which is why some like fish and others dislike it)
@johnandaway
@johnandaway 5 жыл бұрын
Cosmo Guerini: I don’t know, maybe - I’ve just noticed, that over SSH, fish is much less responsive than shells like dash and ksh.
@typingcat
@typingcat 3 ай бұрын
"And when you couldn't find one...?" "We went fishing."
@linuxramblingproductions8554
@linuxramblingproductions8554 2 жыл бұрын
Fish seems more well designed then bash it sucks a bit that bash is the standard for 90% of stuff
@tc40390
@tc40390 5 жыл бұрын
5:18 I was expecting you to enter: $ echo "It's botnet!"
@alessandroceloria
@alessandroceloria 5 жыл бұрын
He could add an elif for chrome to print that
@Pterry23real
@Pterry23real 5 жыл бұрын
I like fish, using it since 2017. omf (oh my fish) is a good addition too. Some downsides are, that you still need to run some bash snippets in bash, but maybe the update you talked about will change this. Also, as soon as you have to ssh into some random servers you have to use bash suddenly. Even worse on docker containers, where most of the times only dash is available.
@Lindholmer5k
@Lindholmer5k 4 жыл бұрын
Oh sweet, im dyslectic, so im sure this will help me tremendusly... iv spent countless hours trying to find the right commands, only to find out iv spelled it wrong
@fcolecumberri
@fcolecumberri 2 жыл бұрын
zsh and fish might have super sweet stuff when used on the terminal (especially after tweaking them to your taste), but my scripts still starts with #! /usr/bin/bash. My advise is: Use the correct tool for the correct problem.
@fjonesjones2
@fjonesjones2 2 жыл бұрын
I've been using fish as default for 9 months... it's great for me and I love it too, with Linux Mint 20.... if I need bash... I just type bash at prompt... change back .. type fish.. ;-)
@scarab5Q
@scarab5Q 5 жыл бұрын
This is great! Love seeing you do screen screen casts when you can. Would highly advocate doing a video on tmux aswell as useful cli navigation things like fpp, fzf and fzy. But only when you can because I think it would be a real shame if you were to not do all this and resent it as it got in the way of other things you wanted to do.
@YTNoobProductions
@YTNoobProductions 5 жыл бұрын
I love tmux so damn much. I haven't taken the time to set up a tiling window manager on my ubuntu machine at work so I just run the terminal in full screen with tmux, with remapped keys so I could navigate between panes with vim-like keys. It can pretty much be a tiling window manager for your terminal. You can even set up powerline for tmux if you like that sort of thing.
@timobachmann5934
@timobachmann5934 5 жыл бұрын
@@YTNoobProductions Agree, I am using tmux at work because it would take me too long to set up proper i3 and I know I'd spend more time ricing it than actually working but there's still a difference between tmux and a tiling window manager... Tiling window manager for a terminal, yes. But the concept of dwm based window managers is to have everything tiled which is amazing once you've got used to one. In the end you do most stuff in the terminal anyway so you get along with just tmux + browser, but there's still a big difference.
@YTNoobProductions
@YTNoobProductions 5 жыл бұрын
@@timobachmann5934 Yeah I know the differences. I have been using i3 at home for quite a while now. I have tried using Awesome and dwm but I had a hard time getting used to having predefined layouts instead of the tree mode or whatever you call it that i3 has.
@alecstewart212
@alecstewart212 4 жыл бұрын
Hello, avid fish-shell user here. So a couple of things: 1. Path So fish has a separate variable for a users path. Whether or not this is useful compared to sh/bash/zsh, I don't know. It's called `fish_user_paths` and you should set it with `set -x fish_user_paths /paths/you/want`. *Do not use `set -g`.* Or at least try to avoid it as much as possible. You can use it for `PATH` if you'd like, like so `set -xg PAHT $PATH /sbin` but other than that try not to use `-g` with set. 2. Login shell # === Start X at login === if status is-login if test -z "$DISPLAY" -a "$XDG_VTNR" = 1 exec startx -- -keeptty end end 3. Aliases and Abbreviations You can have both. `alias` is basically you wrapping something in `function` (well, sorta), so depending on your uses it may or may not be better to just wrap it in a function. Most of the time, for like `ls` combinations, alias is better. I would use `abbr` for like complicated package manager commands. That way you don't have to type it all out, but you see the command once you press enter so you know what you're executing. Thing to remember is `set -x VAR ARG(S)` is just POSIX shells `export VAR=ARG(S)`. But you can also use `export` now.
@SensualSquirrel
@SensualSquirrel 5 жыл бұрын
I love fish shell, and have advocated it's use for years.
@symq
@symq 5 жыл бұрын
The fact that fish is not POSIX compliant was, of course, a deliberate design choice, and in my humble opinion a good one. Keeping compatibility with old standards is a huge problem (not only) across all of technology. It slows progress, encourages bad intuition/habits, etc. and POSIX is no exception. The reason many of the new and theoretically superior programming languages have a hard time getting adopted and many of the old programming languages have a hard time being changed into something better is exactly backwards compatibility and industry inertia. Of course, backwards compatibilty lets us build on old foundations and newer technologies often aren't quite the answer to everything either. But still, at the risk of being a zoomer, I welcome projects like fish and don't mind them breaking compatibility.
@symq
@symq 5 жыл бұрын
jdegreef Without IPv6 the internet wouldn't work today. So should we stick to IPv4? Just as you said, we have to improve standards. Sometimes this requires breaking backwards compatibility.
@hwfjj1989
@hwfjj1989 5 жыл бұрын
@@symq The IP change was a needed change because of limitation of old standard. Breaking posix compliance is not a needed change. Yes innovate more but don't break stuff needlessly. There is a difference that should be clear if not lets talk more about it.
@hwfjj1989
@hwfjj1989 5 жыл бұрын
@@symq also the internet would still work we just could not add more devices to it without refactoring the globally available IP addresses. Hence why we are running both ipv4 and ipv6 during the transition between them as to not break stuff till everything gets updated.
@bigshaqsmathematicalinstit3318
@bigshaqsmathematicalinstit3318 4 жыл бұрын
This is my favorite boomer.
@jetardeshna3449
@jetardeshna3449 5 жыл бұрын
Doing god's work teaching us noobs these things. Love the content, stay strong, hope you grow inf-folds.! :wq
@MrXardasya
@MrXardasya 5 жыл бұрын
True zoomer shell
@Microphunktv-jb3kj
@Microphunktv-jb3kj 4 жыл бұрын
Boomer - bash? Millenial - zsh? Zoomer - fish?
@PantsYT
@PantsYT 4 жыл бұрын
No, "zsh" stands for zoomer shell
@MCLooyverse
@MCLooyverse 3 жыл бұрын
Standards are nice, but then so is being good at what you do. I understand the irritation when you're used to one way, but somebody or something does it another way, but then I also understand wanting to do something in a way that someone who isn't already used to the standard would prefer.
@azngoku666
@azngoku666 5 жыл бұрын
wow i've used fish for years and didnt know about abbreviations?! also seconding the bobthefish recommendation
@ionichi
@ionichi 3 жыл бұрын
Q: How many existentialists does it take to screw in a light bulb? A: Fish.
@hotscriptgg
@hotscriptgg 5 жыл бұрын
Luke, you should also check xonsh it is cool as well
@thomassasuke2101
@thomassasuke2101 5 жыл бұрын
When you explained abbreviations in fish I immediately thought of global aliases in zsh. They are pretty much the same thing so maybe people want to check that out.
@austingarrigus755
@austingarrigus755 5 жыл бұрын
Fish is interesting but not exactly usable in my opinion. I switched to it for a good couple months but gave up on it after getting tired of the frustration. Not being posix compliant is a complete deal breaker for me. The whole thing feels like it was developed with the mindset that working with standards is too hard. Especially annoying was having to do several layers of mental mode-switching any time I needed to connect to any other machine not running fish. There wasn't a common ground syntax I could fall back on to maintain sanity while swapping back and forth.
@lordadamson
@lordadamson 5 жыл бұрын
why is posix compliance important?
@austingarrigus755
@austingarrigus755 5 жыл бұрын
@@lordadamson It's important because it's *the* standard for how the system should behave. It means you can expect a reliable result when you ask it to do something. If you download a shell script, it will do exactly what is intended. Once you're used to how to interact efficiency with a POSIX system, you understand why things are done the way they are. Any POSIX system you touch will have a common set of instructions. Like I said previously, if you need to switch between a system running fish and other machines you eliminate any potential ease of use gained from fish.
@alexzander__6334
@alexzander__6334 3 жыл бұрын
3:12, respect for using arch
@BrunoAraujo677
@BrunoAraujo677 3 жыл бұрын
Is good to have a affirmation from a experience user in what is annoying in fish, I completely agree
@jerrygreenest
@jerrygreenest 3 жыл бұрын
Not POSIX-compliant? Uh oh, I so wanted to try it, but...
@jasonk4442
@jasonk4442 5 жыл бұрын
Your a beast on a computer bro. You earned yourself an active subscriber and I look forward to your future videos. Keep up the amazing work.
@CoWinkKeyDinkInc
@CoWinkKeyDinkInc 4 жыл бұрын
you're*
@amalldekan1432
@amalldekan1432 3 жыл бұрын
@@CoWinkKeyDinkInc shut the fuck up, he communicated the idea that's all that matters
@Yaxqb
@Yaxqb 5 жыл бұрын
I fully agree that fish is a weird shell with awesome features. Someone should fork the interpreter from the fish interface and slap a bash backend on it. It's such a shame that the shell has so strong opinions on being non-posix🤔
@jkbenedict
@jkbenedict 5 жыл бұрын
YES! Fish is the most awesomely cursed thing that I have followed FOREVER. Finally, it gets some lime light! Thank you!
@JeroenKnoops
@JeroenKnoops 5 жыл бұрын
I love fish! I only got one 'problem' with it.. How it handles removing a symlink. In bash you remove a symlink with `rm `, but in fish you will remove the original directory when you do that, you will need to use `unlink `... I think the bash version is wrong, but people are used to it.
@amerikraine3401
@amerikraine3401 3 жыл бұрын
You can just change your default shell such as: chsh/usr/bin/fish instead of typing fish in the bash shell
@MaazAhmed
@MaazAhmed 3 жыл бұрын
Yeah, and you can list available shells by using 'chsh -l' and use 'chsh -s shellLocation' to change it.
@bendover4728
@bendover4728 3 жыл бұрын
Fish feels like... Holy Carp!
@azechele
@azechele 5 жыл бұрын
If you didn't know about them, I greatly suggest you to try and use a REPL shell. I personally use eshell (since I live inside emacs, even my wm is emacs so...), but there are others, and I personally never looked back beside the very few ncurses programs I use.
@bruderdasisteinschwerermangel
@bruderdasisteinschwerermangel 5 жыл бұрын
I guess fish for "standard use" and doing the usual stuff, and bash for the scripts although having two shells kinda defeats the purpose of switching to another one why is fish not POSIX compliant? Did the devs give a specific reason?
@LukeSmithxyz
@LukeSmithxyz 5 жыл бұрын
"Hey dude that's not modern, man. Haha that syntax is obsolete, bro!"
@LukeSmithxyz
@LukeSmithxyz 5 жыл бұрын
I say this, but if you check their Github issues on this there's a lot to that effect.
@bruderdasisteinschwerermangel
@bruderdasisteinschwerermangel 5 жыл бұрын
@@LukeSmithxyz backwards compatibility is obsolete? Lmao okay then
@alessandroceloria
@alessandroceloria 5 жыл бұрын
@@bruderdasisteinschwerermangel Backwards cpatibilty can get obsolete when it's too much (just look at Microsoft struggling with Win10 because they have to keep compatibility with f-ing 95), but yeah completely cutting off POSIX compliance is totally crazy (and stupid) too.
@bruderdasisteinschwerermangel
@bruderdasisteinschwerermangel 5 жыл бұрын
@@alessandroceloria it makes sense to scratch backwards compatibility with things that are obsolete by definition. But POSIX is just so heavily used, I don't see the point behind it, except "being different"
@Headcrabman9999
@Headcrabman9999 4 жыл бұрын
>abbreviations in bash That sounds absolutely fantastic
@TheCerule
@TheCerule 5 жыл бұрын
I use Zsh with plugins that mimic some key Fish features like "zsh-users/zsh-autosuggestions", "zsh-users/zsh-syntax-highlighting", "zsh-users/zsh-history-substring-search". this way I don't need to deal with the non-posix-compatibility.
@nindzafa
@nindzafa 5 жыл бұрын
Fish Shell is excellent software. You should try fisherman (Fisher) to manage your shell plugins. It supports Oh My Fish. And you've got to try bobthefish (a Powerline-style, Git-aware fish theme). That's all you have to do now.. xD
@nindzafa
@nindzafa 5 жыл бұрын
I expect a new vid tommorow with you going through fisherman and bobthefish.
@xthebumpx
@xthebumpx 5 жыл бұрын
Fisher is a great manager, at least IMO. One of the reasons I use Fish instead of Zsh.
@00chilli00
@00chilli00 5 жыл бұрын
I was about to comment , then I thought - someone must have already made the suggestion. +1 for bobthefish !
@paulriddle2254
@paulriddle2254 5 жыл бұрын
I have been using fish for more than 4 years. Never bothered to learn much about it really, was just doing super basic stuff.
@framegrace1
@framegrace1 5 жыл бұрын
No POSIX, no shell. It's a no brainer, no matter how nice it is.
@haystackdmilith
@haystackdmilith 4 жыл бұрын
Lack of compatibility with Sh/ Zsh functions is main reason why I will never use it.
@WinterWeaver
@WinterWeaver 5 жыл бұрын
I like your pastel colour scheme... Do you have your dotfiles or config files hosted on github? Or maybe a name for the colour schemes?
@ivanovyordan
@ivanovyordan 5 жыл бұрын
Setting fish as a default shell is pretty easy actually. First, you have to add it to your shells list: sudo echo $(which fish) >> /etc/shells And then change your shell: chsh -s $(which fish)
@hwfjj1989
@hwfjj1989 5 жыл бұрын
It is not that simple because of the posix noncompliance
@hwfjj1989
@hwfjj1989 5 жыл бұрын
as in yes you can change it like that but break a lot of things in the process till you switch back and do what Luke is doing.
@Pumpkin-Link
@Pumpkin-Link 5 жыл бұрын
BTW if you guys use SSH a lot, install MOSH (mobile-shell) right now. it has predictability character printing, so it basically has no connection input lag at all, on top of that it also runs over encrypted UDP to make it faster and can re-connect automatically if you change IP or something. You can install it in your phone with Termux and connect to a server with a 2G connection inside a moving bus and it still keeps working. I've been using it to connect to my Google Cloud VM and it works like heaven, way better than using the official GC app embedded terminal
@stupidYoutube
@stupidYoutube 5 жыл бұрын
What was that package I downloaded? I'm pretty sure it started with an "f" > pacman -S f Then it'll show (in grey) the last one you typed. Let's say it was "firefox" Then you think... no... that wasn't it... Then you press "up" And now it says pacman -S feh Ah, that was it! Being able to traverse history from a start point is fucking awesome. We also have fish_config which spins up a local webserver to deal with config in a graphical way. Pretty cool, especially for new folks. I swim in my terminal. Oh, and fish also has just simply auto complete love. Let's say you have a python file lumped in with a hundred txt files that you can't remember the name of. Just type ".py" and press tab. It'll find it.
@GAMasterMedo
@GAMasterMedo 5 жыл бұрын
stop using arrow keys! ctrl-p is 'up'
@stupidYoutube
@stupidYoutube 5 жыл бұрын
@@GAMasterMedo The problem is... K is supposed to be up! Hard to do in a shell.
@douwehuysmans5959
@douwehuysmans5959 5 жыл бұрын
The reason for the && is that it shortcircuits, which is really useful as its an implicit if statement, same for || which is an implicit else statement
@soumyabanerjee1995
@soumyabanerjee1995 5 жыл бұрын
The command 'chsh' might be helpful to change the shell from bash to fish. Though I am not very sure.
@MrZombieSwamp
@MrZombieSwamp 3 жыл бұрын
this video definitely aged like milk :P
@rednight2476
@rednight2476 5 жыл бұрын
It's sort of a C shell of the current year. Lots of user convenience features, not really compatible with a normal shell. You can make another user on your system with the same UID and a different shell to play around with ti, or just use it optionally as a login shell. su - fish_user to switch to that enviroment or just login with that user.
@GioGziro95
@GioGziro95 5 жыл бұрын
Why can't they add an option for POSIX-compliance, like _fish --posix_ or something?
@depressivepumpkin7312
@depressivepumpkin7312 Жыл бұрын
for me big irritation is the lack of HereDoc, custom shell scripting language, the dollar sign thingy, even the custom rc file name and location, and finally, AGAIN custom syntax for autocompletion
@juliopcrj
@juliopcrj 5 жыл бұрын
"I can't use it as a login shell" check out the command "chsh".
@brainplot
@brainplot 4 жыл бұрын
He didn't mean that. He meant that Fish has its own (different) way of setting up $PATH and other things. Having bash spawn a fish process allows to inherit that stuff from Bash.
@motbus3
@motbus3 4 жыл бұрын
Wouldn't it work I'd settings from profile?
@W_0_W
@W_0_W 4 жыл бұрын
@@brainplot It is not true. Bash uses a bunch of initialization files like .bashrc, .profile, .bash_profile, and so on. Fish only uses one file: ~/.config/fish/config.fish, so it's actually the same way, even better. I personally removed all bash trash from my computer, put all settings into fish config and everything works perfect!
@isamert1799
@isamert1799 5 жыл бұрын
Fish is just an interactive shell and nothing beyond that. For example, I also use st as my terminal and changed the default shell of st to fish which is a more elegant solution to setting fish as default. I set my PATH variable and bunch of other variables in .profile and fish inherits them. Just don't use it as your main/login shell, make it your main interactive shell. It doesn't really make sense beyond that. Even though it has better syntax than bash, writing scripts in fish is bad choice in the long run for bunch of reasons, IMO.
@channel11121
@channel11121 5 жыл бұрын
I deadass got a fish market training video as an ad.
@jessedarko
@jessedarko 5 жыл бұрын
Been using fish since 2013. It's the best.
@prometheus6474
@prometheus6474 2 жыл бұрын
by the way to show what an alias actually does on interactive dash bash or zsh just do set -o xtrace
@rechade
@rechade 4 жыл бұрын
Having trouble playing this video, just getting a spinning circle. Was playing previously.
@Microphunktv-jb3kj
@Microphunktv-jb3kj 4 жыл бұрын
Friendly Interactive Shell Hell F i s h
@defvii
@defvii 4 жыл бұрын
Switched to this due to the high overhead on zsh with a framework. Fish is great out of box, other than choosing another inbuilt theme/colour set (Nord, which I use everywhere) I get all the features bash doesn't have plus some better design paradigms all in a lightweight shell. Of course, as much as bash sucks, its still very feature complete, available everywhere/POSIX compliant and I already know it. So my scripts are all bash and occasionally I have to call "bash -c" for some complicated one liners (this is rare though...)1
@elidrissii
@elidrissii 5 жыл бұрын
The only reason I prefer zsh is POSIX compliance.
@idtyu
@idtyu 5 жыл бұрын
I like fish non posix compliant syntax, purely because I use php /mysql a lot, and using semicolon to run multiple commands is really nice... Function declaration is similar to sql as well. Also, at least on Fedora and centos , you can set fish as default shell
@jdgregson
@jdgregson 5 жыл бұрын
The most compelling reasons to just stick with Bash are: 1) it's already on the production servers 2) you can't throw random programs and shells on production servers
@jdgregson
@jdgregson 5 жыл бұрын
@Panama Jack Answer: ANY production server. In an enterprise environment, any change to the system must go through change management. So if you're a system administrator and you prefer to use Fish, too bad, you can't just install it on every server you log into. For that reason I've decided to become proficient at what's already there: Bash.
@jdgregson
@jdgregson 5 жыл бұрын
@Panama Jack I see what you're saying. Yes, for personal use or for use in small organizations, it's a neat shell to use. My comment was simply saying that, since I've worked in large organizations with change management and likely will again, it's easier in the long run not to get used to things that I can't use everywhere.
@killistan
@killistan 3 жыл бұрын
add /bin/fish (or whatever the full path is) to /etc/shells! (then you can chsh -s /bin/fish)
@Zuschauer19
@Zuschauer19 3 жыл бұрын
Your video helped me a lot. Keep up the good work.
@mina86
@mina86 5 жыл бұрын
Regarding the abbreviation problem, you could try ‘set -x’. That could be too noisy or confusing in its own right though.
@tiberiusvetus9113
@tiberiusvetus9113 5 жыл бұрын
zsh also supports abbreviations and auto expanding aliases.
@deserve_it
@deserve_it 5 жыл бұрын
Nice. But i am personally have nor problems with highliteing and identation. I changed my default terminal scheme to vi instead of emacs. So when you want to type some ifs or fors , anything that requires multilining you simply press "v" and vim is opening. You should change it in your bashrc for replace the nano. Arrange it in your vim , with all highlithing and identation , close it by pushing "x" in normal vim mode. It runs immediatly in your terminal window.
@Strazil1
@Strazil1 5 жыл бұрын
I have been using fish and oh my fish a while now and i rly love it.. its autocompletion does it for me. You can find a nice powerbar theme called bob the fish. Are you using Hyper? I didn't update yet and switched back to Terminator since Hyper doesn't work well with Vim..
@andrewjarrett132
@andrewjarrett132 5 жыл бұрын
hey Luke, super helpful. my only shell experience is with bash, but this video got me to start playing with fish and i'm loving it so far. would love a follow up on your experience so far, if you're still using it!
@L9TurboBoost
@L9TurboBoost 4 жыл бұрын
self-conscious boomers don't exi...
@Ribula1
@Ribula1 5 жыл бұрын
1:10 amd im already impressed! :0
@wildhomestead8498
@wildhomestead8498 5 жыл бұрын
oh-my-zsh for life
@rmcellig
@rmcellig 5 жыл бұрын
Thanks Luke!! Looking forward to a follow up ! 😀
@dj-no
@dj-no 3 жыл бұрын
Thats not luke he uses zsh!!!
@cam2291
@cam2291 5 жыл бұрын
Btw you can get the same completion and highlighting in zsh if you install zsh-autosuggestions and zsh-syntax-highlighting then add this shit to your zshrc: source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
@jasoneastman6797
@jasoneastman6797 5 жыл бұрын
Man, I tried using this for a week or two and I could stand it. It would just get in my way.
@yagot2323
@yagot2323 5 жыл бұрын
fish? nvim?? firefox??? what happened to this guy :P
@pearljamrules1
@pearljamrules1 5 жыл бұрын
Fish is good but it behaves differently than bash. You can get all the same features with zsh and a few add-ons and it's fully compatible with bash.
@bobbros3414
@bobbros3414 3 жыл бұрын
Uh oh...
@patrickprucha5522
@patrickprucha5522 11 ай бұрын
Thanks for the info! Cheers.
@EthanLR
@EthanLR 4 жыл бұрын
I like xonsh, because it utilizes python which is far more readable imo.
@ashleybishton742
@ashleybishton742 4 жыл бұрын
Yes I love fish
@insidetrip101
@insidetrip101 5 жыл бұрын
the problem with moving to something like fish is that its just an extra thing to learn. Yeah its nice, but like you say, because its not POSIX compliant, you're still going to have to know bash/sh (assuming that you're going to use other people's code) simply because that's what the majority of the scripts are written in. I actually do like the syntax of fish (Bash's syntax really sucks compared to the majority of other programming languages), and a lot of its features are pretty nice. I know this is the sort of thing that you are lamenting in the video, but the nice thing about trying to stick with programs that are portable isn't *only* that you can port programs to obscure hardware, but also that its just easier for the user to integrate into their toolbelt. With that said, its easy to be "too portable," but fish is a decent example of exactly what I wouldn't recommend to a new user (even though it might be easier for them to learn), its going to cause them frustration when they inevitably have to use bash.
@RandomGeometryDashStuff
@RandomGeometryDashStuff Жыл бұрын
05:01 BEWARE, this is incorrect when BROWSER='2 = 2 -a firefox' to fix it use quotes: if [ "$BROWSER" = "firefox" ]
@green4ao
@green4ao 5 жыл бұрын
Hi Luke, which arch-distro and window manager you are using?
@bigfootisjustreallyshy
@bigfootisjustreallyshy 4 жыл бұрын
I finally tried fish today after using ksh for about 6 months, after hearing about it for the first time around the time this video came out. I absolutely hate it. it took a few hours to covert my custom POSIX functions and other configurations, the syntax is garbage. Not to mention the time it took to fix the builtin fish variables for the vim mode prompt so it didn't look like complete dog shit. I would rather use Z shell if i want a flashy shell.
@Puzomor
@Puzomor 5 жыл бұрын
i use fish as my login shell, and have never had any problems with it
@kaihendry
@kaihendry 5 жыл бұрын
functions, aliases and abbrs? bloat! :P
@GAMasterMedo
@GAMasterMedo 5 жыл бұрын
haha based on your preferences: it has colors? bloat
@fleefie
@fleefie 5 жыл бұрын
@@GAMasterMedo If it has more than 1000 lines of code it's a bloated shell.
@illiadenysenko7776
@illiadenysenko7776 5 жыл бұрын
in fish there are no aliases :D aliases are just functions
groff/troff: MUH MINIMALIST Documents
13:21
Luke Smith
Рет қаралды 169 М.
Magic or …? 😱 reveal video on profile 🫢
00:14
Andrey Grechka
Рет қаралды 85 МЛН
HAH Chaos in the Bathroom 🚽✨ Smart Tools for the Throne 😜
00:49
123 GO! Kevin
Рет қаралды 12 МЛН
Girl, dig gently, or it will leak out soon.#funny #cute #comedy
00:17
Funny daughter's daily life
Рет қаралды 25 МЛН
Шок. Никокадо Авокадо похудел на 110 кг
00:44
Fish Is A Modern Shell For The Sophisticated User
15:56
DistroTube
Рет қаралды 213 М.
Coding Graphics in TempleOS is Too Easy
34:47
Tsoding Daily
Рет қаралды 172 М.
Become a shell wizard in ~12 mins
12:25
CODE IS EVERYTHING
Рет қаралды 248 М.
Layin' down Pipes like a Unix Chad
10:55
Luke Smith
Рет қаралды 97 М.
Some bashrc recommendations and what I use
19:17
Luke Smith
Рет қаралды 114 М.
AI Will Make (Has Made) the Internet Mediocre...
12:14
Luke Smith
Рет қаралды 60 М.
Programs that Suck Less! suckless
11:14
Luke Smith
Рет қаралды 140 М.
Fish Shell Tips and Tricks (Can Your Shell Do This?)
14:44
DistroTube
Рет қаралды 66 М.
Harder Drive: Hard drives we didn't want or need
36:47
suckerpinch
Рет қаралды 1,7 МЛН
Bash is Bloated!
11:48
Luke Smith
Рет қаралды 142 М.
Magic or …? 😱 reveal video on profile 🫢
00:14
Andrey Grechka
Рет қаралды 85 МЛН