Bash literally taught me the true power of programming beyond console and libraries. Like it's the most useful language in automation, when you're just starting.
@@mr_madds No. And i won't dare to define what's actually an OS, as too many opinionated definition are out there in the wild fighting for nothing. A single binary, that's a first ^^ Even the monolithic Linux kernel isn't a single file.
I always though the shell protects the squishy human from the awesome power of the kernel, allowing you to weild the awesome power of Linux without getting hurt by grabbing the sword at the wrong end.
Some thoughts: EDIT: Please stop telling me about `#!/bin/sh`. This video is specifically about bash and so is this comment. I am aware that posix sh... exists. If you want to write POSIX compliant scripts, use sh. If you want to write modern scripts, use BASH. Also: even if you use sh instead of bash, you may still be writing bash. The best way to test for that would be shellcheck. Oh and `/bin/sh` is not specified ny posix either, so you'll probably still want to use `#!/usr/bin/env sh`. - Please do not use `#!/bin/bash` or `#!/usr/bin/bash` as your shebeng. Instead use `#!/usr/bin/env bash`. This way, bash can be installed pretty much anywhere and it will still work. - Please always put double qoutes around variables unless you specifically need them unqouted (which you do when loop over an array using a for-loop for example). This will prevent unintended splitting of strings. Note that in bash single qoutes ('), double qoutes (") and backticks (`) all have a different meaning. Speaking of backticks: - Whenever you see a stackoverflow answer around processing a command's output, you will probably see someone using a command enclosed by backticks. This is deprecated and should not be used. Instead, you can use $(command). However, you should also double qoute that, so "$(command)". - Variables don't have to be all-caps. However, if you use them like " $VARsomething" where only VAR is the variable name, you may need to use curly brackets to signal bash where the variable starts and ends: "${VAR}something". Those can also be used for substitutions, which I recommend you just look up ;).
Bad idea, #!/usr/bin/env bash isn’t POSIX compliant and breaks compatibility on non-BASH systems. It’s better to use #!/bin/sh which is a symlink to the shell that is installed on the system.
add `set -e` at beginning to exit script if any command fails, `set -x` for printing commands that are being executed very help full while developing script.
That "bourne" -> "born again" evolution taught me how old the tradition of nerdy play on words is for programmers, even very important programmers. My favourite one is "Nero Burning ROM", it's just so perfectly layered.
Learning to make simple scripts with Bash makes using Linux way better imo. It allows to automate tasks without installing anything. It's not fully portable but, for what it's meant to do, it's great!
After 5 years of avoiding bash scripts, I was literally at the crossroads to learn it for some specific task. I wake up to find this video in my feed. This guy is a mindreader.
Literally never wrote shell script and then it happened that I needed to put some code in background processing to the OS and started practicing how to write shell script. Once I got a hang of it, never went back from there. One of the most amazing ways to automate terminal commands and especially more useful to listen directly from your app.
@@-morrow Then try MS Powershell - a standard that changes every year and requires modules to be loaded before many documented commands will work (and they'll never have a nice error like "blah blah not found"). I have bash scripts written over a decade ago that will work. The other weird part of PS is the | character sometimes behaves like a flag (|FL for full) and sometimes behaves like Linux pipe. PS is really non-intuitive and verbose and hinders everything you try to do (like defaulting to showing only the first few hundred results).
@@khandmoIt kind of is, most system programming introductory course will have a chapter for SHELL and terminal. It usually finish in 2-4 classes, which is about 3 hours
@@seerlite5256 I mean literally flags... inside if statements. Just as you would on the command line pass git commit the "-m" flag, in bash you can do stuff like if [[ -d dirName ]] which checks if dirName exists. Other flags I know of are -z & -n but theres probably more. (also if the double [[ ]] threw you for a loop, thats another odity of bash)
@@Metruzanca Oh so you mean flags for the `test` command. An if statement just runs a command and executes the blocks depeding on the return code: if mkdir dir; then echo "dir created"; else echo "dir exists"; fi It's the `test` command (AKA [, or the more sophisticated [[ in bash and zsh) that have different flags for what you're testing. You can actually use `test` without any if statement. Very useful for one-liners: [[ -f file.txt ]] && echo "File exists"
@@alexradu1921 This knowledge is enough to start getting familiar with Linux/Unix systems, to learn how to start, stop and configure programs and services and how to read and write the shell scripts that manage your system. These scripts coordinate the system, starting from boot (system init). It will take a few months of learning to become a sysadmin and years to master it.
@@alexradu1921 It's an important tool that you should be somewhat familiar with, but there's more to being a sysadmin than this (I'm a regular dev, so I might be missing stuff, but networking, hardware, IT-security quickly come to mind)
Golang is marketing bullshit and an awful language made just so that graduates could copypaste CRUDs. The only good thing it has is a performant runtime.
0:17 Command-line interpreters (CLIs) were not a revolutionary concept in 1971. After all, every interactive OS had them, and there were quite a few by that time. What was revolutionary was the idea that the CLI ran as just another ordinary process with no special privileges, rather than being built into the OS.
Wow, best 100 seconds about bash. Please do more series like this, bash 100 seconds part 1, part 2 and so on in all 100 seconds video. Short, but very informative. Keep up the good job
Fun fact, the “[“ symbol isn’t really part of the syntax but an alias of the “test” program. Both of which does exactly the same thing except that “[“ also checks for a closing “]”, which also isn’t part of the syntax but rather a parameter sent to the “[“ program.
I think & at the end of command just returns shell to you for entering new command and won't send execution to the background. For putting execution at background, we can use supervisorctl or "nohup &"
Regarding the background command, make sure to put nohup either in the line itself or when running the script to make sure the process is not killed upon session closing. (usually the most affected is SSH logins since every shell is a seperate session.)
Hey variable names don't need to be all uppercase. By convention most variables set up by OS or programs are uppercase so it's usually a good idea not to make your variables uppercase. Doing that will prevent you from using and overwriting default's by accident.
I have some personal conventions that I follow: Any variable that is exported and intended to be read elsewhere is all caps, and usually "configuration" variables at the top of a script. I do use lowercase for "local" variables that are used only within the script itself.
I can't imagine explaining the visitor pattern in 100 seconds!! But I believe that someone who understands it better certainly could, and quote easily.
Using bash has completely changed the way I use a computer, there's so many things you can automate with it, like bulk zipping / unzipping files, installing all programs you use after setting up your computer, updating multiple things at once, bulk editing photos, setting up folder templates, backing up stuff to cloud storage. And when you use it with python scripts you can automate literally anything imaginable.
Myself in college: Gosh, this Bash stuff is annoying to use. Good thing I just write Java for windows applications! Job: Hey, so we want you to code up some linux containers to deploy our Java application inside. You happen to know shell scripting?
Another amazing 100 seconds. Gives all the info u need quick and without padding or harsh opinions. Need to hear something again, just pause and go back :D
@@vanarpilipap302 Environment variables are variables that are shared to child processes. For example let's say I start a bash shell, set HELLO=1 and then I open python from the Bash shell. If it's a regular variable, Python won't know anything about it. However, if I mark it as an environment variable, Python will be able to access it via its API (os.environ). This is useful to pass settings to programs across many subprocesses. Some operating systems also let you configure "global" environment variables so that all shells start with those values by default.
That's not the whole picture.... POSIX forces to any variable that needs to be exported has to be upper case or "_" . That includes what you call "environment variables" which really are bash RESERVED variables. Most old school shell programers like me always use uppercase because on those days, there was no syntax coloring, and in bash is really easy to mix commands, scripts and variables if all of them are lowercase. For those two reasons, you will see uppercase variables in bash scripts everywhere even from very respected sources.
A couple of years ago macOS changed the default shell to zsh. Before Mac OS X 10.3 Panther the default shell was tcsh. Of course you can always change your shell by typing its name.
Aaaawesome....you pointed out all the salient features in 100 secs. Someone watching carefully could start writing a script. Of course that would be the start of the learning curve.
Comparing this Fireship video to the present ones, theres a lot of difference in cadence, delivery and speed. This video is more chill and laid back compared to his current videos.
One of the best things about bash is that it's immediately available on Linux. No matter what one installs on the top of the operative system, the bash is there.
"Lua in 100 seconds" would be nice. Both Awesome wm (one of the most used tiling window managers) and Neovim (the best text editor of course) are both written in lua.
1:30 It is to be noted that there shouldn't be any spaces between the variable name, the equal sign, and the assignment. Otherwise, bash would think GREET is some command and = and "Howdy Partner" are it's arguments! Weird, but it is what it is.
the more i learn about the low levels and the history of computing... the more i freak out about the universe. it's just so analogous. everything starts out simple and adds in complexity, but as complexity grows then so does the need for abstraction. at infinite complexity, something (everything?) must be infinitely abstract. it seems to me that simulation theory isn't so silly. everything i know of physics and philosophy (not much) seems to point to this kind of "no matter where you look, if you look hard enough you will always find some kind of recursion or self reference, as though you are prevented from knowing the final answer, the last variable in the equation"
I have been developing software for over a decade and I still hate bash. It would be awesomeness if you wanted to do a longer bash video, that deals with all the counter intuitive intricasies in a way that you can almost make sense of it. Just praying 😃
@@Fireship I have a question: if the shebang correctly references Bash wouldn’t the terminal invoke Bash to run the script? I know ZSH is the default shell but Bash is included along ZSH as well. Also, it’d be great to have a “ZSH in 100 seconds” to know the biggest differences and/or a “beyond 100 seconds”. That’d be really awesome, I always wanted to jump on Bash scripting but it seems so daunting. Thanks for the hard work!
@@AlejandroLZuvic "I have a question: if the shebang correctly references Bash wouldn’t the terminal invoke Bash to run the script? I know ZSH is the default shell but Bash is included along ZSH as well." Yeah I'd assume so
Please do linux distros in 100 seconds. Debian: Outdated af but stable Ubuntu: slightly less outdated, also newbie friendly. Manjaro: meh customised arch Arch: bleeding edge, stable (if you know what you are doing) Gentoo: compile everything (use binary if impatient) Lfs: true chad
For beginners I recommend: 1) Linux Mint Cinnamon. If it won't work properly try installing proprietary drivers. If it still doesn't work then try 2) Pop! Os which has rich hardware support. If for some reason it won't work properly or you just don't like the UI or you don't want to customize the default Gnome UI then your next choice might be 3) Manjaro. But keep in mind that Manjaro is Arch based and not that stable as Mint/Pop! OS as it get the latest (not super well tested) apps and software. Manjaro has Gnome, KDE editions (desktop environments) and some others. Gnome is solid, stable (in terms of UI) and well polished while KDE is a bit lighter (in terms of RAM consumption) and very well castomizable. These are 3 the best Linux distros for me. Fedora is also great but not for beginners.
It's called a SHELL as it hides the kernel
Wow I never thought of it like that :))
Wonders of the English language.
same lmao
Wow, thanks man. I never thought about it that way!
In macOS is no longer bash, but zsh.
Me neither. It’s like the German word for glove is literally “handshoe” but I never think of shoes when using it.
fireship is turning us into 10X developers without us even knowing it
It's ok, we'll just spend 90% of our time watching programming videos on RUclips, and no one will know then :D
i am looking for partner who want to learn bash through co opearation
@@gfjffdgjroedsfdkdslmerrelb4357 How does this arrange works ? 🤔
I am currently -10x dev
@@lolidkstudio Tru"e" programmers dont forget the "e" or your rely on autocomplete?
These 100-second videos are so underrated, no one else fully outlines a concept this well. I can see if it's worth learning before I invest my time. 🔥
So true. It got me into go and helped me with graphql back in the day.
i am looking for partner who want to learn bash through co opearation
There is also the learn x in y minutes website for quickly learning syntax of programming languages
Bash literally taught me the true power of programming beyond console and libraries.
Like it's the most useful language in automation, when you're just starting.
lol
Bash itself a library
So, the main take-away from this video is that the operating system is a squishy snail inside a shell?
"bash the snail, crash the trail"
Os is different type of shell i think
@@mr_madds No. And i won't dare to define what's actually an OS, as too many opinionated definition are out there in the wild fighting for nothing.
A single binary, that's a first ^^ Even the monolithic Linux kernel isn't a single file.
I always though the shell protects the squishy human from the awesome power of the kernel, allowing you to weild the awesome power of Linux without getting hurt by grabbing the sword at the wrong end.
If it’s windows, then yes.
Some thoughts:
EDIT: Please stop telling me about `#!/bin/sh`. This video is specifically about bash and so is this comment. I am aware that posix sh... exists. If you want to write POSIX compliant scripts, use sh. If you want to write modern scripts, use BASH. Also: even if you use sh instead of bash, you may still be writing bash. The best way to test for that would be shellcheck.
Oh and `/bin/sh` is not specified ny posix either, so you'll probably still want to use `#!/usr/bin/env sh`.
- Please do not use `#!/bin/bash` or `#!/usr/bin/bash` as your shebeng. Instead use `#!/usr/bin/env bash`. This way, bash can be installed pretty much anywhere and it will still work.
- Please always put double qoutes around variables unless you specifically need them unqouted (which you do when loop over an array using a for-loop for example). This will prevent unintended splitting of strings. Note that in bash single qoutes ('), double qoutes (") and backticks (`) all have a different meaning. Speaking of backticks:
- Whenever you see a stackoverflow answer around processing a command's output, you will probably see someone using a command enclosed by backticks. This is deprecated and should not be used. Instead, you can use $(command). However, you should also double qoute that, so "$(command)".
- Variables don't have to be all-caps. However, if you use them like " $VARsomething" where only VAR is the variable name, you may need to use curly brackets to signal bash where the variable starts and ends: "${VAR}something". Those can also be used for substitutions, which I recommend you just look up ;).
Great comment. Thanks!
even better, use `#!/usr/bin/env -S bash` which can be generalized for any shell and any number of arguments before the script file.
Ah, substitutions are my wake-up coffee. Great advices.
"#!/usr/bin/env" isn't standard on all systems though. For some reason there is no standard for shebengs.
Bad idea, #!/usr/bin/env bash isn’t POSIX compliant and breaks compatibility on non-BASH systems. It’s better to use #!/bin/sh which is a symlink to the shell that is installed on the system.
add `set -e` at beginning to exit script if any command fails, `set -x` for printing commands that are being executed
very help full while developing script.
I had no idea. Thank you very much!
You can also execute your script with bash -x file.sh instead of commenting and uncommenting your set -x while debugging :)
can also use "set -v" fort verbose which simple echose the commands before executing them.
Thank you. Been learning to write bash scripts while doing my first today.
@@Pokefreak554 It's much easier to give x permission with chmod permanently than type bash -x each execution
"Rust in 100 seconds" would be cool
and WASM
@@janism94 He did WASM, at least 100 seconds of it and he said he plans to do a longer video soon.
I've heard Rust is complicated. Curious to see how Fireship would do it.
@@balu.92 it's not too bad honestly. I'd say the hardest is learning the borrow system and to work with the borrow checker
then zig
That "bourne" -> "born again" evolution taught me how old the tradition of nerdy play on words is for programmers, even very important programmers.
My favourite one is "Nero Burning ROM", it's just so perfectly layered.
I like : gezerolee (french pun) and git !
Learning to make simple scripts with Bash makes using Linux way better imo. It allows to automate tasks without installing anything. It's not fully portable but, for what it's meant to do, it's great!
After 5 years of avoiding bash scripts, I was literally at the crossroads to learn it for some specific task. I wake up to find this video in my feed. This guy is a mindreader.
RUclips is the mind reader!
No you're data is just being collected. Try some blockers
@@mohos_a lol my thoughts exactly. google probably looked at his search history
Literally never wrote shell script and then it happened that I needed to put some code in background processing to the OS and started practicing how to write shell script. Once I got a hang of it, never went back from there. One of the most amazing ways to automate terminal commands and especially more useful to listen directly from your app.
I just hate the quirkiness and the different standards (POSIX, BASH, ZSH, etc).
@@-morrow
The only standard from those three is POSIX. Bash and zsh are shells.
Also, why are you hating it, bash has --posix flag for that.
@@-morrow Then try MS Powershell - a standard that changes every year and requires modules to be loaded before many documented commands will work (and they'll never have a nice error like "blah blah not found"). I have bash scripts written over a decade ago that will work. The other weird part of PS is the | character sometimes behaves like a flag (|FL for full) and sometimes behaves like Linux pipe. PS is really non-intuitive and verbose and hinders everything you try to do (like defaulting to showing only the first few hundred results).
3 hours of uni classes in 100 seconds. I wish I would have found your channel back in 2019 when I started my CS degree
No shot that was 3 hours of uni you should’ve went to a different school
@@khandmoIt kind of is, most system programming introductory course will have a chapter for SHELL and terminal. It usually finish in 2-4 classes, which is about 3 hours
Ruduty de s
Would love a longer bash tutorial as it's syntax can get pretty rough, especially with flags inside if statements which is something unique to bash
Yea I was a little disappointed with the scope of this vid but at least it serves as an introduction to the technology for beginners
What do you mean with "flags inside if statements"?
It's an scripting language, it's not complicated
@@seerlite5256 I mean literally flags... inside if statements. Just as you would on the command line pass git commit the "-m" flag, in bash you can do stuff like if [[ -d dirName ]] which checks if dirName exists. Other flags I know of are -z & -n but theres probably more. (also if the double [[ ]] threw you for a loop, thats another odity of bash)
@@Metruzanca Oh so you mean flags for the `test` command. An if statement just runs a command and executes the blocks depeding on the return code:
if mkdir dir; then echo "dir created"; else echo "dir exists"; fi
It's the `test` command (AKA [, or the more sophisticated [[ in bash and zsh) that have different flags for what you're testing.
You can actually use `test` without any if statement. Very useful for one-liners:
[[ -f file.txt ]] && echo "File exists"
Fun fact: You can use $0 instead of $SHELL to get the actual name of the current shell, not just the path
not working for me 🤷
@@maxrisku765 Really? What's the output of "echo $0"
That's because a bash program has it's process name located at $0 variable. Bash itself is a program running a "bash" process.
@@maxrisku765 it doesn't work on ur pretty cmd
doesnt work on Ubuntu
Bash is possibly the most beautiful and manifoldly useful thing in computer science.
That was fast. Now to learn all the branching, variables, pattern matching and syntax intricacies it will take only a 100 weeks. Full-time.
Hello, what can I do with this Bash knowledge after? Can I be a sysadmin?
@@alexradu1921 check out his videos for that: ruclips.net/channel/UCvA_wgsX6eFAOXI8Rbg_WiQ
@@alexradu1921 This knowledge is enough to start getting familiar with Linux/Unix systems, to learn how to start, stop and configure programs and services and how to read and write the shell scripts that manage your system. These scripts coordinate the system, starting from boot (system init).
It will take a few months of learning to become a sysadmin and years to master it.
@@alexradu1921 It's an important tool that you should be somewhat familiar with, but there's more to being a sysadmin than this (I'm a regular dev, so I might be missing stuff, but networking, hardware, IT-security quickly come to mind)
@@Gregorius421 I was like wth is bash because i had already been working in a linux/unix environment. Turns out i skipped quite a number of steps xD
I really love the animations of the topic logos in the beginning and end of the video. Nice details Jeff!
Golang in 100 seconds.
Golang is marketing bullshit and an awful language made just so that graduates could copypaste CRUDs. The only good thing it has is a performant runtime.
@@arkrait04 I will admit that it got worse after they introduced the module system
Mission Impossible
@@arkrait04 which language do you prefer for backend?
@@balu.92 Rust all the way. Go has a simple syntax, but you have to reinvent the wheel too often.
Always a fan of short and straight to the point vids of Fireship
0:17 Command-line interpreters (CLIs) were not a revolutionary concept in 1971. After all, every interactive OS had them, and there were quite a few by that time. What was revolutionary was the idea that the CLI ran as just another ordinary process with no special privileges, rather than being built into the OS.
Correct. But there were other revolutionany things about the concept. One of them was that it could be replaced by other products if you so wished.
command-line interface
Secxy
Wow, best 100 seconds about bash. Please do more series like this, bash 100 seconds part 1, part 2 and so on in all 100 seconds video. Short, but very informative. Keep up the good job
wow I have been using bash for many years but this 100 seconds brought me so much new information I didn't know before, great job
Fireship is literally turning the topics that I am scared of thinking It's too hard to easy labeled ones. Thanks Fireship!
Fun fact, the “[“ symbol isn’t really part of the syntax but an alias of the “test” program. Both of which does exactly the same thing except that “[“ also checks for a closing “]”, which also isn’t part of the syntax but rather a parameter sent to the “[“ program.
and that probably explains why you need a space after '['
I think & at the end of command just returns shell to you for entering new command and won't send execution to the background. For putting execution at background, we can use supervisorctl or "nohup &"
Regarding the background command, make sure to put nohup either in the line itself or when running the script to make sure the process is not killed upon session closing. (usually the most affected is SSH logins since every shell is a seperate session.)
nohup command & disown
😎 (disown prevents you from CTRL-Cing the command)
your last tip about ending the command with & to run it in anothet thread saved me A TON! thanks a lot 🙏
You could see the result of command by running "jobs" .
Hey variable names don't need to be all uppercase. By convention most variables set up by OS or programs are uppercase so it's usually a good idea not to make your variables uppercase. Doing that will prevent you from using and overwriting default's by accident.
I have some personal conventions that I follow: Any variable that is exported and intended to be read elsewhere is all caps, and usually "configuration" variables at the top of a script. I do use lowercase for "local" variables that are used only within the script itself.
Holy. I never knew how much I needed to see this video. thank you
I'd love to see a 100s video on a reasonably complex design pattern, like decorator or visitor
I can't imagine explaining the visitor pattern in 100 seconds!! But I believe that someone who understands it better certainly could, and quote easily.
i am looking for partner who want to learn bash through co opearation
Using bash has completely changed the way I use a computer, there's so many things you can automate with it, like bulk zipping / unzipping files, installing all programs you use after setting up your computer, updating multiple things at once, bulk editing photos, setting up folder templates, backing up stuff to cloud storage. And when you use it with python scripts you can automate literally anything imaginable.
Myself in college: Gosh, this Bash stuff is annoying to use. Good thing I just write Java for windows applications!
Job: Hey, so we want you to code up some linux containers to deploy our Java application inside. You happen to know shell scripting?
So true
Well I did try to use bash exclusively for my private projects but gave up once I needed YAML.
@Andai Because it's too clumsy, even with tools like yq. Especially once you start nesting several levels deep.
yeah most companies will want you to know how to use linux and shell, is important but one of the most boring things i have ever learned in life
Another amazing 100 seconds.
Gives all the info u need quick and without padding or harsh opinions.
Need to hear something again, just pause and go back :D
Golang/Rust in 100 Seconds would be great! And also: great video, as always.
Bash is definitely the most useful thing ever created 🙏
Love you fireship ❤️❤️
Bash has saved my butt so many times in development. Need to run a RESTful api several hundred times to test vulnerabilities? Bash is the answer.
Fireship's 2 min videos are more like video cheatsheets. So cool 👌👍
I wrote the O'Reilly book on Bash. It's nice to see such a nice concise video about Bash.
Great video! Note however that by convention variables shouldn't be all caps unless they're environment variables.
Or constants
Or special variables like $RANDOM
would you elaborate on what environment variables are briefly?
@@vanarpilipap302 Environment variables are variables that are shared to child processes. For example let's say I start a bash shell, set HELLO=1 and then I open python from the Bash shell. If it's a regular variable, Python won't know anything about it. However, if I mark it as an environment variable, Python will be able to access it via its API (os.environ). This is useful to pass settings to programs across many subprocesses. Some operating systems also let you configure "global" environment variables so that all shells start with those values by default.
That's not the whole picture.... POSIX forces to any variable that needs to be exported has to be upper case or "_" . That includes what you call "environment variables" which really are bash RESERVED variables.
Most old school shell programers like me always use uppercase because on those days, there was no syntax coloring, and in bash is really easy to mix commands, scripts and variables if all of them are lowercase.
For those two reasons, you will see uppercase variables in bash scripts everywhere even from very respected sources.
Daaaaaaaamn!! the music used in the background made me eager to learn every single command in bash
C++ in 100s. I think it deserves one given how much of the underlying web infrastructure is built with it.
can segue into V8 nicely
Fully agree.
This dude is God Gift for Developers😍
awesome video. more in depth version soon?
Fireship covering linux stuff = I like. I like.
A couple of years ago macOS changed the default shell to zsh.
Before Mac OS X 10.3 Panther the default shell was tcsh.
Of course you can always change your shell by typing its name.
Right. Or, just execute the script with bash by prefixing with “bash” in the terminal.
Bestest coding playlist, keep going men👍
Haskell in 100 seconds.
Good luck, you're gonna need it!
Learned more than in a 3 Hour Tutorial! Keep it up!
Windows Users: **Confused screaming**
you sir ARE THE GOAT
Wow that brought back memories of cs class. Aah the good old days 🤗 still thinking Id be able to make my own Linux distribution.
This 2 minute video was enough to get me started righting some scripts.
Any chance we get a golang in 100 seconds video?
you make it look so easy to write bash scripts lol. Love your content man, keep it up!
I see the notification for fireship new video, I click. Simple as that
Glad I'm not the only one
*fireship
@@weiiswurst *Fireship
Aaaawesome....you pointed out all the salient features in 100 secs. Someone watching carefully could start writing a script. Of course that would be the start of the learning curve.
Bash shell is love ❤️
The Bourne Again Shell Shell
MAN, how the heck did you explain it that well in so little time? You're a fucking machine of great content
next video: quick overview of simple commandline apps like
grep, cat, echo, sed, curl, awk, -ed-
Awk is a hole scripting language it isn't simple
This was amazing. Thanks. Love and respect from Istanbul.
1:21 I like how you say "shebang"
Perfect, that was everything I needed to know about bash to know whether or not it's worth investing any more time into learning it.
1:09; these sources are from zsh prompt themes, NOT bash.
Comparing this Fireship video to the present ones, theres a lot of difference in cadence, delivery and speed. This video is more chill and laid back compared to his current videos.
incredibly easy to learn but takes a long time to master
This was really good, subscribed!
Fireship posts video. I click.
The intro animation was fire!!🔥
One of the best things about bash is that it's immediately available on Linux. No matter what one installs on the top of the operative system, the bash is there.
Except it is a minimal install then only sh is available .
@@xrafter Or an embedded system.
I like this 100-second video style better than the new ones. :)
"Lua in 100 seconds" would be nice. Both Awesome wm (one of the most used tiling window managers) and Neovim (the best text editor of course) are both written in lua.
Lua and Neovim are trash
I've learnt Lua recently and it's such a fun to use language. I don't know why nobody uses it for scripting instead of bash.
@@skylinefx049 w
w
w
w
w
w
w
who asked you
@@007arek Because it's not zero indexed
@@manbillions8326 In Lua it makes sense with associative arrays. AWK does something similar, white spaces are stored in 0 index.
I just started learning bash a few weeks ago, this is a great intro!
JAM Stack in 100 sec.
i love your editor settings !
The person who watches your videos must know everything about computer😢
1:30 It is to be noted that there shouldn't be any spaces between the variable name, the equal sign, and the assignment. Otherwise, bash would think GREET is some command and = and "Howdy Partner" are it's arguments! Weird, but it is what it is.
The default shell on macOS is now zsh. It switched away from Bash when Bash switched its license to GPL v3.
you should also create long videos as well, your content is the best
Great video as usual !
Kafka and MQ in general in 100s would be great 😁
the more i learn about the low levels and the history of computing... the more i freak out about the universe. it's just so analogous. everything starts out simple and adds in complexity, but as complexity grows then so does the need for abstraction. at infinite complexity, something (everything?) must be infinitely abstract.
it seems to me that simulation theory isn't so silly. everything i know of physics and philosophy (not much) seems to point to this kind of "no matter where you look, if you look hard enough you will always find some kind of recursion or self reference, as though you are prevented from knowing the final answer, the last variable in the equation"
Quick correction, Linux is NOT based on Unix. It's a Unix-like operating systems based on the Linux kernel.
The syntax is really funky. Unix people like to state that Windows is not programmer friendly, but compare the syntax of bash and PowerShell...
I like it when you do “something in 100s” but then go longer after to go more into details.
don't mind but your tutorials are like showoff of an expert , also i learned a lot from your videos , thanks
Bash beyond 100 seconds.
Answered all my questions in 100 seconds. Thanks
I have been developing software for over a decade and I still hate bash. It would be awesomeness if you wanted to do a longer bash video, that deals with all the counter intuitive intricasies in a way that you can almost make sense of it. Just praying 😃
love your 100 seconds videos. Thank you
The default shell on macOS is now zsh not bash anymore
He addresses that in the video, he mentions "pre-catalina" in the graphic
That's why noted it with "pre-catalina".
Ah my bad sorry
@@Fireship I have a question: if the shebang correctly references Bash wouldn’t the terminal invoke Bash to run the script? I know ZSH is the default shell but Bash is included along ZSH as well.
Also, it’d be great to have a “ZSH in 100 seconds” to know the biggest differences and/or a “beyond 100 seconds”. That’d be really awesome, I always wanted to jump on Bash scripting but it seems so daunting.
Thanks for the hard work!
@@AlejandroLZuvic "I have a question: if the shebang correctly references Bash wouldn’t the terminal invoke Bash to run the script? I know ZSH is the default shell but Bash is included along ZSH as well." Yeah I'd assume so
0:46 you can also type "echo $0"
Not also, "echo $0" is right "which $SHELL" is wrong.
Waiting for The Friendly Interactive Shell (FISH) in 100 seconds now
Not POSIX
@@Zephyrus0 for a personal machine, I truly don't care about POSIX compliance.
Makes sense, but you would need a POSIX shell if you are using someone's scripts or vice versa
Frankly I don't mind having long videos if this guy explains :)
"Command Prompt" in 100 seconds please
I hit the Like button because there wasn't a Love button. Great summary and beautiful visualization! ❤️
Please do linux distros in 100 seconds.
Debian: Outdated af but stable
Ubuntu: slightly less outdated, also newbie friendly.
Manjaro: meh customised arch
Arch: bleeding edge, stable (if you know what you are doing)
Gentoo: compile everything (use binary if impatient)
Lfs: true chad
Debian is not outdated, it's just not user friendly and not feature rich
He has already done that. ruclips.net/video/ShcR4Zfc6Dw/видео.html
For beginners I recommend: 1) Linux Mint Cinnamon. If it won't work properly try installing proprietary drivers. If it still doesn't work then try 2) Pop! Os which has rich hardware support. If for some reason it won't work properly or you just don't like the UI or you don't want to customize the default Gnome UI then your next choice might be 3) Manjaro. But keep in mind that Manjaro is Arch based and not that stable as Mint/Pop! OS as it get the latest (not super well tested) apps and software. Manjaro has Gnome, KDE editions (desktop environments) and some others. Gnome is solid, stable (in terms of UI) and well polished while KDE is a bit lighter (in terms of RAM consumption) and very well castomizable. These are 3 the best Linux distros for me. Fedora is also great but not for beginners.
Also there are other independent (not Arch or Debian based) distros to be mentioned in video: OpenSuse, Gentoo, Void Linux, CentOS, Solus
dude thanks, this video helped me a lot, 100s is more than enough!
Please explain data science, machine learning or AI in 100 Seconds
When you say the word BASH in Norwegian hears it always makes the little child in me smile shyly 😁