Bash in 100 Seconds

Поделиться
HTML-код
  • Опубликовано: 4 янв 2025

Комментарии • 1 тыс.

  • @_sudipidus_
    @_sudipidus_ 3 года назад +3811

    It's called a SHELL as it hides the kernel
    Wow I never thought of it like that :))

    • @Subuzgreatest
      @Subuzgreatest 3 года назад +99

      Wonders of the English language.

    • @BarraIhsan
      @BarraIhsan 3 года назад +18

      same lmao

    • @farhanaditya2647
      @farhanaditya2647 3 года назад +12

      Wow, thanks man. I never thought about it that way!

    • @Joe3D
      @Joe3D 3 года назад +28

      In macOS is no longer bash, but zsh.

    • @magicmulder
      @magicmulder 3 года назад +55

      Me neither. It’s like the German word for glove is literally “handshoe” but I never think of shoes when using it.

  • @azatecas
    @azatecas 3 года назад +2937

    fireship is turning us into 10X developers without us even knowing it

    • @Winnetou17
      @Winnetou17 2 года назад +73

      It's ok, we'll just spend 90% of our time watching programming videos on RUclips, and no one will know then :D

    • @gfjffdgjroedsfdkdslmerrelb4357
      @gfjffdgjroedsfdkdslmerrelb4357 Год назад +1

      i am looking for partner who want to learn bash through co opearation

    • @BrandonCastillo-eo1or
      @BrandonCastillo-eo1or Год назад

      @@gfjffdgjroedsfdkdslmerrelb4357 How does this arrange works ? 🤔

    • @mmmar7317
      @mmmar7317 Год назад +1

      I am currently -10x dev

    • @GospodKrompir
      @GospodKrompir Год назад +2

      @@lolidkstudio Tru"e" programmers dont forget the "e" or your rely on autocomplete?

  • @alexreade9229
    @alexreade9229 3 года назад +414

    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. 🔥

    • @dixztube
      @dixztube 2 года назад +1

      So true. It got me into go and helped me with graphql back in the day.

    • @gfjffdgjroedsfdkdslmerrelb4357
      @gfjffdgjroedsfdkdslmerrelb4357 Год назад

      i am looking for partner who want to learn bash through co opearation

    • @heywrandom8924
      @heywrandom8924 11 месяцев назад

      There is also the learn x in y minutes website for quickly learning syntax of programming languages

  • @thatsalot3577
    @thatsalot3577 2 года назад +80

    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.

  • @Lukyan
    @Lukyan 3 года назад +1155

    So, the main take-away from this video is that the operating system is a squishy snail inside a shell?

    • @____-gy5mq
      @____-gy5mq 3 года назад +39

      "bash the snail, crash the trail"

    • @Flocksta
      @Flocksta 3 года назад +1

      Os is different type of shell i think

    • @LupusMichaelis
      @LupusMichaelis 3 года назад +2

      @@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.

    • @GerhardusScheltema
      @GerhardusScheltema 3 года назад +10

      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.

    • @martindjakovic7052
      @martindjakovic7052 3 года назад +3

      If it’s windows, then yes.

  • @SkyyySi
    @SkyyySi 3 года назад +529

    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 ;).

    • @AlejandroLZuvic
      @AlejandroLZuvic 3 года назад +8

      Great comment. Thanks!

    • @____-gy5mq
      @____-gy5mq 3 года назад +9

      even better, use `#!/usr/bin/env -S bash` which can be generalized for any shell and any number of arguments before the script file.

    • @Gregorius421
      @Gregorius421 3 года назад +1

      Ah, substitutions are my wake-up coffee. Great advices.

    • @slavko5666
      @slavko5666 3 года назад +6

      "#!/usr/bin/env" isn't standard on all systems though. For some reason there is no standard for shebengs.

    • @tanmay______
      @tanmay______ 3 года назад +11

      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.

  • @window.location
    @window.location 3 года назад +279

    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.

    • @childfs6865
      @childfs6865 3 года назад +4

      I had no idea. Thank you very much!

    • @Pokefreak554
      @Pokefreak554 2 года назад +9

      You can also execute your script with bash -x file.sh instead of commenting and uncommenting your set -x while debugging :)

    • @starpawsy
      @starpawsy 2 года назад +1

      can also use "set -v" fort verbose which simple echose the commands before executing them.

    • @SeanSMST
      @SeanSMST Год назад

      Thank you. Been learning to write bash scripts while doing my first today.

    • @SeanSMST
      @SeanSMST Год назад

      @@Pokefreak554 It's much easier to give x permission with chmod permanently than type bash -x each execution

  • @iyxan23
    @iyxan23 3 года назад +3409

    "Rust in 100 seconds" would be cool

    • @janism94
      @janism94 3 года назад +56

      and WASM

    • @Justin73791
      @Justin73791 3 года назад +37

      @@janism94 He did WASM, at least 100 seconds of it and he said he plans to do a longer video soon.

    • @balu.92
      @balu.92 3 года назад +22

      I've heard Rust is complicated. Curious to see how Fireship would do it.

    • @tobiasdebruijn5240
      @tobiasdebruijn5240 3 года назад +31

      @@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

    • @SamualN
      @SamualN 3 года назад +8

      then zig

  • @cicalinarrot
    @cicalinarrot Год назад +35

    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.

    • @TheOO23
      @TheOO23 11 месяцев назад +1

      I like : gezerolee (french pun) and git !

  • @rafaelpernil
    @rafaelpernil 3 года назад +6

    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!

  • @maniksingh92
    @maniksingh92 3 года назад +82

    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.

    • @alii4334
      @alii4334 3 года назад +9

      RUclips is the mind reader!

    • @mohos_a
      @mohos_a 2 года назад +21

      No you're data is just being collected. Try some blockers

    • @MaeLSTRoM1997
      @MaeLSTRoM1997 Год назад

      @@mohos_a lol my thoughts exactly. google probably looked at his search history

  • @gregor3148
    @gregor3148 3 года назад +52

    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
      @-morrow 2 года назад +5

      I just hate the quirkiness and the different standards (POSIX, BASH, ZSH, etc).

    • @xrafter
      @xrafter Год назад +1

      ​@@-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.

    • @donaldteed35
      @donaldteed35 Год назад +1

      @@-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).

  • @SebWayYT
    @SebWayYT 3 года назад +46

    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

    • @khandmo
      @khandmo Год назад +4

      No shot that was 3 hours of uni you should’ve went to a different school

    • @HenryTitor
      @HenryTitor Год назад

      @@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

    • @cnmy97727
      @cnmy97727 Год назад

      Ruduty de s

  • @Metruzanca
    @Metruzanca 3 года назад +450

    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

    • @minnow1337
      @minnow1337 3 года назад +18

      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

    • @seerlite5256
      @seerlite5256 3 года назад +2

      What do you mean with "flags inside if statements"?

    • @manbillions8326
      @manbillions8326 3 года назад

      It's an scripting language, it's not complicated

    • @Metruzanca
      @Metruzanca 3 года назад +6

      @@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)

    • @seerlite5256
      @seerlite5256 3 года назад +13

      @@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"

  • @nastygamer7929
    @nastygamer7929 3 года назад +1269

    Fun fact: You can use $0 instead of $SHELL to get the actual name of the current shell, not just the path

    • @maxrisku765
      @maxrisku765 3 года назад +12

      not working for me 🤷

    • @nastygamer7929
      @nastygamer7929 3 года назад +10

      @@maxrisku765 Really? What's the output of "echo $0"

    • @alois6909
      @alois6909 3 года назад +75

      That's because a bash program has it's process name located at $0 variable. Bash itself is a program running a "bash" process.

    • @africayean1311
      @africayean1311 3 года назад +25

      @@maxrisku765 it doesn't work on ur pretty cmd

    • @icarofilho6524
      @icarofilho6524 3 года назад +3

      doesnt work on Ubuntu

  • @fiandrhi
    @fiandrhi 2 года назад +6

    Bash is possibly the most beautiful and manifoldly useful thing in computer science.

  • @Gregorius421
    @Gregorius421 3 года назад +256

    That was fast. Now to learn all the branching, variables, pattern matching and syntax intricacies it will take only a 100 weeks. Full-time.

    • @alexradu1921
      @alexradu1921 3 года назад +5

      Hello, what can I do with this Bash knowledge after? Can I be a sysadmin?

    • @ehsanahmed5550
      @ehsanahmed5550 3 года назад +1

      @@alexradu1921 check out his videos for that: ruclips.net/channel/UCvA_wgsX6eFAOXI8Rbg_WiQ

    • @Gregorius421
      @Gregorius421 3 года назад +25

      @@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.

    • @aufkeinsten7883
      @aufkeinsten7883 2 года назад +6

      @@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)

    • @MoonV29
      @MoonV29 Год назад +3

      @@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

  • @dankoller246
    @dankoller246 3 года назад +8

    I really love the animations of the topic logos in the beginning and end of the video. Nice details Jeff!

  • @shravanasati9631
    @shravanasati9631 3 года назад +381

    Golang in 100 seconds.

    • @arkrait04
      @arkrait04 3 года назад +11

      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.

    • @albertbennett6290
      @albertbennett6290 3 года назад +3

      @@arkrait04 I will admit that it got worse after they introduced the module system

    • @aArcziMetin2
      @aArcziMetin2 3 года назад

      Mission Impossible

    • @balu.92
      @balu.92 3 года назад +2

      @@arkrait04 which language do you prefer for backend?

    • @saadisave
      @saadisave 3 года назад +5

      @@balu.92 Rust all the way. Go has a simple syntax, but you have to reinvent the wheel too often.

  • @Imdeepakmp
    @Imdeepakmp 10 месяцев назад

    Always a fan of short and straight to the point vids of Fireship

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 2 года назад +10

    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.

    • @starpawsy
      @starpawsy 2 года назад

      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.

    • @JustinK0
      @JustinK0 Год назад

      command-line interface

    • @shellyreneegracia4030
      @shellyreneegracia4030 Год назад

      Secxy

  • @tt-fx6nt
    @tt-fx6nt 3 года назад +2

    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

  • @mehdianisbrahmi9262
    @mehdianisbrahmi9262 3 года назад +3

    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

  • @mavlonodev
    @mavlonodev Год назад +2

    Fireship is literally turning the topics that I am scared of thinking It's too hard to easy labeled ones. Thanks Fireship!

  • @aquilazyy1125
    @aquilazyy1125 Год назад +16

    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.

    • @leoniduvarov5236
      @leoniduvarov5236 Год назад +2

      and that probably explains why you need a space after '['

  • @Pedram-cy3wu
    @Pedram-cy3wu Год назад +1

    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 &"

  • @PredaBoon
    @PredaBoon 2 года назад +6

    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.)

    • @Paulo27
      @Paulo27 Год назад +1

      nohup command & disown
      😎 (disown prevents you from CTRL-Cing the command)

  • @turkym7md5
    @turkym7md5 3 года назад +1

    your last tip about ending the command with & to run it in anothet thread saved me A TON! thanks a lot 🙏

    • @xrafter
      @xrafter 3 года назад +1

      You could see the result of command by running "jobs" .

  • @TheJamesconroy
    @TheJamesconroy 3 года назад +86

    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.

    • @ForeverZer0
      @ForeverZer0 Год назад +3

      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.

  • @vdynmx
    @vdynmx 3 года назад +1

    Holy. I never knew how much I needed to see this video. thank you

  • @michaelpoirier22
    @michaelpoirier22 3 года назад +25

    I'd love to see a 100s video on a reasonably complex design pattern, like decorator or visitor

    • @arisweedler4703
      @arisweedler4703 3 года назад

      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.

    • @gfjffdgjroedsfdkdslmerrelb4357
      @gfjffdgjroedsfdkdslmerrelb4357 Год назад

      i am looking for partner who want to learn bash through co opearation

  • @s1nistr433
    @s1nistr433 Год назад

    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.

  • @basicnpcc
    @basicnpcc 3 года назад +183

    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?

    • @BharadwajGiridhar
      @BharadwajGiridhar 3 года назад

      So true

    • @magicmulder
      @magicmulder 3 года назад

      Well I did try to use bash exclusively for my private projects but gave up once I needed YAML.

    • @magicmulder
      @magicmulder 3 года назад

      @Andai Because it's too clumsy, even with tools like yq. Especially once you start nesting several levels deep.

    • @TaskForce-wb7nq
      @TaskForce-wb7nq Год назад

      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

  • @ArivanAshstar
    @ArivanAshstar 3 года назад +1

    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

  • @palexer2505
    @palexer2505 3 года назад +6

    Golang/Rust in 100 Seconds would be great! And also: great video, as always.

  • @droidy347
    @droidy347 Год назад +2

    Bash is definitely the most useful thing ever created 🙏

  • @JAVAxNANI
    @JAVAxNANI 3 года назад +8

    Love you fireship ❤️❤️

  • @liveinthecity11211
    @liveinthecity11211 Год назад +1

    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.

  • @mallikarjunaswamyn483
    @mallikarjunaswamyn483 3 года назад +6

    Fireship's 2 min videos are more like video cheatsheets. So cool 👌👍

  • @cbnewham535
    @cbnewham535 Год назад

    I wrote the O'Reilly book on Bash. It's nice to see such a nice concise video about Bash.

  • @seerlite5256
    @seerlite5256 3 года назад +112

    Great video! Note however that by convention variables shouldn't be all caps unless they're environment variables.

    • @stephan6530
      @stephan6530 3 года назад +6

      Or constants

    • @WilliamAndrea
      @WilliamAndrea 3 года назад +5

      Or special variables like $RANDOM

    • @vanarpilipap302
      @vanarpilipap302 2 года назад

      would you elaborate on what environment variables are briefly?

    • @seerlite5256
      @seerlite5256 2 года назад +3

      @@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.

    • @framegrace1
      @framegrace1 2 года назад +4

      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.

  • @damssiart9411
    @damssiart9411 Год назад

    Daaaaaaaamn!! the music used in the background made me eager to learn every single command in bash

  • @jjlegend8819
    @jjlegend8819 3 года назад +27

    C++ in 100s. I think it deserves one given how much of the underlying web infrastructure is built with it.

  • @arslantechlab
    @arslantechlab 3 года назад +2

    This dude is God Gift for Developers😍

  • @ananttiwari1337
    @ananttiwari1337 3 года назад +13

    awesome video. more in depth version soon?

  • @gnatinator
    @gnatinator 3 года назад

    Fireship covering linux stuff = I like. I like.

  • @lorensims4846
    @lorensims4846 3 года назад +7

    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.

    • @VincentJenks
      @VincentJenks 9 месяцев назад

      Right. Or, just execute the script with bash by prefixing with “bash” in the terminal.

  • @Koyi_supremacist
    @Koyi_supremacist 3 года назад +1

    Bestest coding playlist, keep going men👍

  • @alex283d
    @alex283d 3 года назад +3

    Haskell in 100 seconds.
    Good luck, you're gonna need it!

  • @linixo7485
    @linixo7485 7 месяцев назад

    Learned more than in a 3 Hour Tutorial! Keep it up!

  • @creeperkafasi
    @creeperkafasi 3 года назад +5

    Windows Users: **Confused screaming**

  • @zeelock1419
    @zeelock1419 3 месяца назад +1

    you sir ARE THE GOAT

  • @PrasangaBasnayake
    @PrasangaBasnayake 3 года назад +35

    Wow that brought back memories of cs class. Aah the good old days 🤗 still thinking Id be able to make my own Linux distribution.

  • @dripdrops3310
    @dripdrops3310 2 года назад

    This 2 minute video was enough to get me started righting some scripts.

  • @RhemaxosLord
    @RhemaxosLord 3 года назад +32

    Any chance we get a golang in 100 seconds video?

  • @MichaelMilord
    @MichaelMilord 3 года назад +1

    you make it look so easy to write bash scripts lol. Love your content man, keep it up!

  • @maheshkumartangella5516
    @maheshkumartangella5516 3 года назад +15

    I see the notification for fireship new video, I click. Simple as that

  • @rezamostafid8810
    @rezamostafid8810 3 года назад

    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.

  • @YOUdudex
    @YOUdudex 3 года назад +5

    Bash shell is love ❤️

  • @exmax8781
    @exmax8781 3 года назад

    MAN, how the heck did you explain it that well in so little time? You're a fucking machine of great content

  • @ark5458
    @ark5458 3 года назад +13

    next video: quick overview of simple commandline apps like
    grep, cat, echo, sed, curl, awk, -ed-

    • @xrafter
      @xrafter 3 года назад

      Awk is a hole scripting language it isn't simple

  • @asafnisan
    @asafnisan 2 года назад

    This was amazing. Thanks. Love and respect from Istanbul.

  • @JayJames
    @JayJames 3 года назад +3

    1:21 I like how you say "shebang"

  • @JustSomeRandomIdiot
    @JustSomeRandomIdiot 3 года назад

    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.

  • @alexzander__6334
    @alexzander__6334 3 года назад +3

    1:09; these sources are from zsh prompt themes, NOT bash.

  • @MRJMXHD
    @MRJMXHD Год назад

    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.

  • @lunkums
    @lunkums 3 года назад +4

    incredibly easy to learn but takes a long time to master

  • @JohnVance
    @JohnVance 3 года назад +1

    This was really good, subscribed!

  • @rudrapratapsinha8880
    @rudrapratapsinha8880 3 года назад +8

    Fireship posts video. I click.

  • @ThePowerRanger
    @ThePowerRanger 3 года назад

    The intro animation was fire!!🔥

  • @RawPeds
    @RawPeds 3 года назад +4

    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.

    • @xrafter
      @xrafter 3 года назад +1

      Except it is a minimal install then only sh is available .

    • @TheZoltan-42
      @TheZoltan-42 2 года назад

      @@xrafter Or an embedded system.

  • @andrepeixoto2947
    @andrepeixoto2947 Год назад

    I like this 100-second video style better than the new ones. :)

  • @gustavoviana5508
    @gustavoviana5508 3 года назад +27

    "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.

    • @skylinefx049
      @skylinefx049 3 года назад +3

      Lua and Neovim are trash

    • @007arek
      @007arek 3 года назад +1

      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.

    • @gustavoviana5508
      @gustavoviana5508 3 года назад +9

      @@skylinefx049 w
      w
      w
      w
      w
      w
      w
      who asked you

    • @manbillions8326
      @manbillions8326 3 года назад +1

      @@007arek Because it's not zero indexed

    • @007arek
      @007arek 3 года назад

      @@manbillions8326 In Lua it makes sense with associative arrays. AWK does something similar, white spaces are stored in 0 index.

  • @jamesbank833
    @jamesbank833 3 года назад

    I just started learning bash a few weeks ago, this is a great intro!

  • @ranaakhil
    @ranaakhil 3 года назад +14

    JAM Stack in 100 sec.

  • @anirbanc88
    @anirbanc88 2 года назад

    i love your editor settings !

  • @Eyad_faramawy
    @Eyad_faramawy Год назад +3

    The person who watches your videos must know everything about computer😢

  • @shr1han
    @shr1han 3 года назад +2

    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.

  • @IAmLesleh
    @IAmLesleh 3 года назад +3

    The default shell on macOS is now zsh. It switched away from Bash when Bash switched its license to GPL v3.

  • @abhaythakur8572
    @abhaythakur8572 3 года назад +1

    you should also create long videos as well, your content is the best

  • @randomrobin6104
    @randomrobin6104 3 года назад +3

    Great video as usual !
    Kafka and MQ in general in 100s would be great 😁

  • @manfrombritain6816
    @manfrombritain6816 Год назад +1

    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"

  • @k3rnel_err0r
    @k3rnel_err0r 3 года назад +3

    Quick correction, Linux is NOT based on Unix. It's a Unix-like operating systems based on the Linux kernel.

  • @Akimb321
    @Akimb321 3 года назад

    The syntax is really funky. Unix people like to state that Windows is not programmer friendly, but compare the syntax of bash and PowerShell...

  • @DenisDuvauchelledev
    @DenisDuvauchelledev 3 года назад +3

    I like it when you do “something in 100s” but then go longer after to go more into details.

  • @shahriarahmed4316
    @shahriarahmed4316 3 года назад +1

    don't mind but your tutorials are like showoff of an expert , also i learned a lot from your videos , thanks

  • @mirashif
    @mirashif 3 года назад +3

    Bash beyond 100 seconds.

  • @ethanoppenheim2884
    @ethanoppenheim2884 Год назад

    Answered all my questions in 100 seconds. Thanks

  • @armchair_expert
    @armchair_expert 3 года назад +5

    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 😃

  • @fanaFSF
    @fanaFSF 2 года назад

    love your 100 seconds videos. Thank you

  • @DerChrilleAusBln
    @DerChrilleAusBln 3 года назад +3

    The default shell on macOS is now zsh not bash anymore

    • @ananttiwari1337
      @ananttiwari1337 3 года назад +4

      He addresses that in the video, he mentions "pre-catalina" in the graphic

    • @Fireship
      @Fireship  3 года назад +3

      That's why noted it with "pre-catalina".

    • @DerChrilleAusBln
      @DerChrilleAusBln 3 года назад +1

      Ah my bad sorry

    • @AlejandroLZuvic
      @AlejandroLZuvic 3 года назад

      @@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!

    • @ananttiwari1337
      @ananttiwari1337 3 года назад

      @@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

  • @cosmo_7
    @cosmo_7 2 года назад +2

    0:46 you can also type "echo $0"

    • @fractievoorzitter
      @fractievoorzitter Год назад

      Not also, "echo $0" is right "which $SHELL" is wrong.

  • @Afsafs123
    @Afsafs123 3 года назад +3

    Waiting for The Friendly Interactive Shell (FISH) in 100 seconds now

    • @Zephyrus0
      @Zephyrus0 3 года назад

      Not POSIX

    • @Afsafs123
      @Afsafs123 3 года назад

      @@Zephyrus0 for a personal machine, I truly don't care about POSIX compliance.

    • @Zephyrus0
      @Zephyrus0 3 года назад

      Makes sense, but you would need a POSIX shell if you are using someone's scripts or vice versa

  • @droidcelestial
    @droidcelestial 3 года назад +2

    Frankly I don't mind having long videos if this guy explains :)

  • @Darkev77
    @Darkev77 3 года назад +6

    "Command Prompt" in 100 seconds please

  • @drkskwlkr
    @drkskwlkr 3 года назад

    I hit the Like button because there wasn't a Love button. Great summary and beautiful visualization! ❤️

  • @devhypercoder2522
    @devhypercoder2522 3 года назад +8

    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

    • @techgregory5253
      @techgregory5253 3 года назад

      Debian is not outdated, it's just not user friendly and not feature rich

    • @kurshadqaya1684
      @kurshadqaya1684 3 года назад

      He has already done that. ruclips.net/video/ShcR4Zfc6Dw/видео.html

    • @techgregory5253
      @techgregory5253 3 года назад

      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.

    • @techgregory5253
      @techgregory5253 3 года назад

      Also there are other independent (not Arch or Debian based) distros to be mentioned in video: OpenSuse, Gentoo, Void Linux, CentOS, Solus

  • @niksatan
    @niksatan 2 года назад

    dude thanks, this video helped me a lot, 100s is more than enough!

  • @othman_
    @othman_ 3 года назад +3

    Please explain data science, machine learning or AI in 100 Seconds

  • @mortengabrielottersen6813
    @mortengabrielottersen6813 Год назад

    When you say the word BASH in Norwegian hears it always makes the little child in me smile shyly 😁