Become a bash scripting pro - full course

Поделиться
HTML-код
  • Опубликовано: 16 июн 2024
  • In this video you'll learn everything you need to know in order to start writing bash scripts to automate all of your boring tasks.
    Useful reference site: learnxinyminutes.com/docs/bash/
    Music by Alex Bainter / CC BY
    #terminal #linux #bash
  • НаукаНаука

Комментарии • 136

  • @thisguyc0ry
    @thisguyc0ry 3 месяца назад +71

    I never knew I needed a “Guided Bash Meditation”

    • @RickGladwin
      @RickGladwin 2 месяца назад +4

      Pro tip: light a couple candles, put on a nice essential oil diffuser. Saje has a scent called “nerd forest” that’s perfect for this.

    • @CHURCHISAWESUM
      @CHURCHISAWESUM 9 дней назад

      @@RickGladwin Nerd forest is great, you can find it right next to "Mystical autism"

  • @nomemeshere253
    @nomemeshere253 3 месяца назад +100

    If you made Bash Pro Shop merch, I would instantly buy it. I have never bought merch before, but it would be worth the investment.

    • @Kane0123
      @Kane0123 3 месяца назад +6

      I second this. Only stopped for the title

    • @SteveWilburn
      @SteveWilburn 3 месяца назад +4

      For real. That graphic would be great on a shirt or a hat.

    • @hunterlake2943
      @hunterlake2943 3 месяца назад

      Same

    • @moose-1
      @moose-1 2 месяца назад

      Agreed

    • @Iwbyiwm
      @Iwbyiwm 2 месяца назад

      I agree

  • @danydanger
    @danydanger 3 месяца назад +49

    I have been through long courses of bash scripting and in that only I have seen all these topics covered, covering so much in a less than 30mins is really awesome. I request you to make more of like this plz.

    • @leo25cm
      @leo25cm 3 месяца назад

      It's interesting that not a lot of creators go in-depth into she'll scripting. It's so useful and portable

    • @kurdm1482
      @kurdm1482 3 месяца назад

      Shell scripting is easy n powerful
      ​@@leo25cm

  • @RickGladwin
    @RickGladwin 2 месяца назад +17

    I consider myself to be “decent to okay” at bash scripting. I’ve even got bash scripts in enterprise production environments. This video helped _clarify_ and illuminate so many individual features and (sometimes conflicting) syntaxes. Not only do I have new knowledge, but the information that was already in my head is more cohesive. Absolute A+ content.

  • @mgmartin51
    @mgmartin51 3 месяца назад +4

    I feel like I’m listening to late night FM radio.

  • @asadmoosvi
    @asadmoosvi 9 дней назад

    This has to be one of the most soothing videos I've ever watched.

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

    So glad I found your channel as I'm struggling to wrap my head around the awkwardness of writing bash scrips for my studies right now. Will definitely reference parts of this video again during the two weeks I have for my current assignment! Thank you! ❤

  • @DenisNolan
    @DenisNolan 3 месяца назад +7

    I feel like I’m learning and meditating at the same time. This is wonderful. Subscribed

  • @polares8187
    @polares8187 3 месяца назад +8

    You keep hitting it out of the park. Another amazing video. Holy hell.

  • @aarond0623
    @aarond0623 2 месяца назад +4

    A couple of errors/things that may be confusing:
    13:53 - The internal logical AND and OR are wrong for double brackets. They would be correct for single brackets, though.
    20:07 - The for loop is incorrect and prints 1[@]. The correct syntax would be `for item in "${my_arr[@]}"`
    21:00 - Not an error, but this while loop will fail after the first iteration with the previously mentioned "strict mode", because ((counter++)) will return non-zero and exit the script.

    • @TylerTheDestroyer
      @TylerTheDestroyer Месяц назад

      I implore @RUclips to please address this very bad and lazy ai driven content

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

    Hey, you did an amazing job. This was more than helpful, it was enjoyable. I believe that you have an excellent combination here, summarizing information but also lifting a bit the curtain to understand the underlying structure is really valuable for this type of content. Keep up and I am sure that you will get more acknowledgment from everyone in a near future!

  • @silvertechnolo3958
    @silvertechnolo3958 2 месяца назад +4

    This was beautiful my friend. Your calming voice and the methodical breakdown of the code is Buddhist in nature. Incredible work. And I now second the merch thing.

  • @batchrocketproject4720
    @batchrocketproject4720 20 дней назад

    Slay! Today I learned that my years of bumbling along struggling with bash were avoidable. This content is gold. Thank you. 💯👏

  • @caiocouto3450
    @caiocouto3450 3 месяца назад +2

    this vid is amazing. I'm not very inclined to learn shell scripts, like bash or powershell; but the pacing, the background song, the edit and your explanation turn it like a "reading session". i felt like i was reading a really good book, with no hurry and pay the most attention i could

  • @youseflourdx6531
    @youseflourdx6531 3 месяца назад +6

    Thanks a lot!
    I'm learning bash little by little and this video and the last one hit the spot

  • @goofballbiscuits3647
    @goofballbiscuits3647 3 месяца назад +9

    Nice mic, damn 😅
    Even better video! It's actually as relaxing as it is perfectly dense and presented. I think any more in any direction of brevity or speed, it wouldn't work. You hit that Cinderella slipper of YT education. Normally, music in the background drives me nuts. I loved it!

  • @ajko000
    @ajko000 3 месяца назад

    I had some trouble understanding how the positional variables worked until I saw the ffmpeg example and then it clicked! Thanks!

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

    Please don’t stop making videos. ❤. Keep it up! Too good.

  • @IsayaOdongo
    @IsayaOdongo 28 дней назад

    You have covered alot in just 30 minutes ..Thank you.

  • @nickp6857
    @nickp6857 26 дней назад

    Thank you so much for this well explained and well structured tutorial, it is more than appreciated!

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

    Thank you for teaching me. This is top grade knowledge that you are teaching us.

  • @josephbledsoe1333
    @josephbledsoe1333 Месяц назад

    Was skeptical I would learn anything new, but there were several juicy fresh bits! Very cohesive, wish I had seen this years ago haha. Valuable content for the community

  • @ericlindell3777
    @ericlindell3777 3 месяца назад

    Wonderful vid! Looking forward to more!

  • @redbrickhut
    @redbrickhut 2 месяца назад

    Dude your content is amazing, keep it up!

  • @made-simple
    @made-simple 3 месяца назад

    Really unique Editing style ... feels calming and mental rush just boils down! ... Subscribed! for your efforts !

  • @hellawacked
    @hellawacked 3 месяца назад

    Great videos looking forward to the next one.

  • @deflect3658
    @deflect3658 Месяц назад

    such an awesome explaination! thank you for this

  • @M3eizo
    @M3eizo 3 месяца назад

    Really awesome! Thank you so much and see you in the next one too.

  • @rafadubiel5288
    @rafadubiel5288 3 месяца назад

    Great video! Need more! 👏

  • @trev-dev
    @trev-dev 2 месяца назад

    Telling me that bash is a command syntax language unravels much of the mystery behind why my scripts have sucked. Thanks

  • @MacSuperior_
    @MacSuperior_ 3 месяца назад

    thx for the video! I’m sure learning this will help me in the future

  • @mingzih
    @mingzih 3 месяца назад

    nice, you acually explained all about bash, thanks.

  • @davemeech
    @davemeech Месяц назад

    This was superb. The music choice was fantastic if conscious, because it helped immensely with focus.
    Also Bash Pro Shop merch when?

    • @CODE_IS_EVERYTHING
      @CODE_IS_EVERYTHING  Месяц назад

      I’m glad you like it, I did spend some time trying to find the right tunes.
      And I’ve looked into it but I’ve been lazy about getting some samples. But I’ll do so, as it seems like a decent number of people are interested.

  • @SocheatSok78
    @SocheatSok78 Месяц назад

    In the function statement you can also use the “return” keyword “return” or “return n”.

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

    This is the ABS (Advanced Bash Scripting) Guide speed run.

  • @alezad57121
    @alezad57121 2 месяца назад

    more videos exactly like this. fundamentals of linux is great stuff.

  • @blank001
    @blank001 3 месяца назад

    Thanks for this awesome video/resource

  • @kartikmahajan4405
    @kartikmahajan4405 3 месяца назад

    great video, subscribed

  • @pabloqp7929
    @pabloqp7929 3 месяца назад

    So many pro-tips and nuanced demos, thank you! Also great voice tbf.

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

    Super helpful thank you!

  • @XrayShapeShifter
    @XrayShapeShifter 3 месяца назад

    This video is an expected pleasure

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

    dank content the middle school teachers need to steal this and create some yung engineers

  • @alexander_adnan
    @alexander_adnan 2 месяца назад

    The title got me, there’s one that just opened near my place😂😂😂😂😂❤

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

    You're the best. I followed along and made a "quick reference" guide for myself as I continue to learn how to use Bash and Linux/Ubuntu. It's not as scary as I thought it would be, trying to learn all this. Thank you for making it much more approachable!
    One question: Is there is significant difference between csh and bash? My advisor only uses csh, while, I want to learn more bash/tcsh, since I've read that the latter is a bit more dynamic compared to csh. Is this true?

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

      I'm glad to hear it!
      And I think the choice really comes down to personal preference. There will be some differences in syntax and a few features here and there, but the majority of the work you'll be doing in the scripting is going to be very similar, as it'll be heavily command driven.
      I think the real reason to opt for bash is its ubiquity. Almost every unix system will have bash pre-installed, whereas very few have csh/tcsh (not that its hard to install).
      I personally use zsh as my main shell, but still for any scripts I write I'll tell it to use bash so it'll run on any of my systems.

    • @goofballbiscuits3647
      @goofballbiscuits3647 3 месяца назад

      I'll add that Bash is used in Unix, Linux and Windows. If you are going professional with these skills, bash would be the most useful/ubiquitous by far.

  • @DetlevObst
    @DetlevObst Месяц назад

    You've got a great way of explaining the structure & modularity of using bash and "glue" together its userland utilities. You'd be awesome for teaching python and rust I'd bet! Thanks so much for making the video. BTW, how did you get those lines of code to highlight while you're explaining? Also, never saw "#!/usr/bin/env" syntax before ... it even works in FBSD.

    • @CODE_IS_EVERYTHING
      @CODE_IS_EVERYTHING  Месяц назад

      Thanks! And I’ve only dabbled with Rust, but I will have some more programming videos soon.
      And I used reveal.js which has a line highlight capability for code blocks.

  • @l.sureshkumar-lsk550
    @l.sureshkumar-lsk550 3 месяца назад

    Nice useful video. 👏

  • @GagikAvetisyan-hi9jh
    @GagikAvetisyan-hi9jh Месяц назад

    Good Job !

  • @saeedxgholami
    @saeedxgholami 3 месяца назад

    Very useful thanks.

  • @hyltoncarboo8303
    @hyltoncarboo8303 3 месяца назад

    This is golden!!! What font do you use for the terminal?

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

      Thanks! And its IBM Plex Mono (www.programmingfonts.org/#plex-mono)

  • @LeoVS44
    @LeoVS44 27 дней назад

    premium content, very nice :)

  • @finnberuldsen4798
    @finnberuldsen4798 3 месяца назад

    Awesome video, so much content, so well explained. Love the added process at the end

  • @imaboutmyfathersbusiness
    @imaboutmyfathersbusiness Месяц назад

    Subscribed Brother!

  • @leo25cm
    @leo25cm 3 месяца назад

    Also if you stick to the Bash test, that is `[[ ... ]]`, you don't need to put variables inside quotes, not on the left side of a comparison.

  • @azadim8268
    @azadim8268 2 месяца назад

    Thank you sir!

  • @sevos
    @sevos 3 месяца назад

    This video is awesome

  • @kilianlindberg
    @kilianlindberg 26 дней назад

    2:07 Thus far into this video the music is close to superb along 👏👏

  • @Podoco_music
    @Podoco_music 3 месяца назад

    fantastic video! this ends up being a good refresher video too!

  • @darkseid3427
    @darkseid3427 3 месяца назад

    thanks a ton!! can you please make video or if possible share reference sites for learning docker and k8s.

    • @CODE_IS_EVERYTHING
      @CODE_IS_EVERYTHING  3 месяца назад

      Hey, I've been thinking about doing guide videos for those. I've got a couple others in the works right now, but I can definitely do that.

  • @kurdm1482
    @kurdm1482 3 месяца назад

    I love this n you
    Thank you

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

    Thanks! More of this please! 🙂

  • @comosaycomosah
    @comosaycomosah 3 месяца назад

    Lmao love the thumbnail 😂

  • @hanzomaster
    @hanzomaster 3 месяца назад

    Can you pls tell me what is the font you use in this video? The # sign look so unique

    • @CODE_IS_EVERYTHING
      @CODE_IS_EVERYTHING  3 месяца назад

      I’m using IBM Plex Mono font for the code and Syne for the titles.

  • @flflflflflfl
    @flflflflflfl 3 месяца назад

    15:11 isn't it a convention to print (Y/n) with a capital Y only if "yes" is the default option if the user enters nothing (i.e., simply presses return)? Because your script would treat that as a "no", which could be confusing.

    • @CODE_IS_EVERYTHING
      @CODE_IS_EVERYTHING  3 месяца назад

      Good catch. You’re correct, I should’ve had it the other way around

  • @snneossi6880
    @snneossi6880 3 месяца назад

    Really interesting. and concise, kudos!!!

  • @mervmartin2112
    @mervmartin2112 Месяц назад

    Bash is cow complete! cowsay "Thanks! You have another subscriber."

  • @dachanel2076
    @dachanel2076 2 месяца назад

    whats the zshell interface/custom form you use? I'd love to try it.

    • @CODE_IS_EVERYTHING
      @CODE_IS_EVERYTHING  2 месяца назад

      I keep it pretty simple with just oh-my-zsh and then when I’m doing the video recording I set these
      export PROMPT='> '
      export RPROMPT=""
      That way it gets rid of all of the extra noise. But on my day to day I don’t keep it like this since it gets rid of some useful info.

  • @senorchang6249
    @senorchang6249 3 месяца назад

    What color Schema is that? Looks beautiful

  • @cherkim
    @cherkim Месяц назад +1

    This production quality is too high, the channel will blow up soon.

  • @doskius111
    @doskius111 3 месяца назад

    I do not know if someone address this but during 13:54 there is an syntax error in internals, instead of [[]] you have to use [], because -a/-o are for POSIX standard

  • @rorylabine7143
    @rorylabine7143 2 месяца назад +1

    PLEASE make a hat with Bash Pro Shop on it. I would buy it so fast

    • @CODE_IS_EVERYTHING
      @CODE_IS_EVERYTHING  2 месяца назад

      Haha I’d love to but I imagine I’d be inviting trouble. But I’ll look into it.

  • @richardshalla
    @richardshalla Месяц назад

    I got lost in the weeds pretty quickly, this is over my head. I should look for a longer video with a deeper explanation of each step. Thanks anyway. By the comments it looks like some were able to get it fairly quickly. I'm afraid that I am not one of those people. The search continues........

    • @CODE_IS_EVERYTHING
      @CODE_IS_EVERYTHING  Месяц назад

      I’m sorry to hear that. Was there any part in particular that was causing trouble or was it just moving too fast in general?
      FYI I’m working on a site right now that will be a companion to my videos that’ll have exercises and such to help aid in the learning process, so once it is up and ready it’ll hopefully help.

    • @batchrocketproject4720
      @batchrocketproject4720 20 дней назад

      I'm curious as to how you use videos like this? Personally, I massively benefited from it by actively trying and exploring each of the points raised. It took me well over an hour to get to 7 minutes. Even the opening use of env taught me tons because I stopped and ran env as a command, studied its output, discovered there was env at /bin and usr/bin, compared the output of env to the which bash command. I explored everything that way, making notes and creating working examples that illustrated variations of usage. This one hour video is a ten hour course that is worth 10 years of bumbling along (as I have spent the last decade doing). I agree the presentation has to engage and not grate your personal style preferences (in which regard it was a perfect fit for me) but style alone will not make you learn, exploration and discovery is the key to that, preferably with a pro guide like this fellow.

  • @rayforever
    @rayforever Месяц назад

    What tool did ya use to visualise these ?

    • @CODE_IS_EVERYTHING
      @CODE_IS_EVERYTHING  Месяц назад

      Nothing fancy, just used revealjs with some custom styling

  • @MorphTW
    @MorphTW 3 месяца назад

    thanks for sharing. here is the comment for the algo!

  • @Gabriel_Bento
    @Gabriel_Bento 3 месяца назад

    This man is a legend. I always thought bash was a hard and weird language. Now I realize it's not that hard, but still weird as mentioned. Thanks! :D

  • @valeris98
    @valeris98 3 месяца назад

    What font did you use btw?

    • @CODE_IS_EVERYTHING
      @CODE_IS_EVERYTHING  3 месяца назад

      For the code it is IBM Plex Mono. The titles are syne

  • @setsune999
    @setsune999 3 месяца назад

    I need a tshirt with that thumbnail

  • @Parker8752
    @Parker8752 3 месяца назад

    I did wonder why the /usr/bin/env was so common in scripts.

  • @KeithErekson
    @KeithErekson 3 месяца назад

    How is hardcoding the path to "env" any better than hardcoding the path to "bash"?

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

      It comes down to the portability. You have to hardcode some full path, but not every machine will have bash at the same location, whereas env is almost always at /usr/bin/env.

  • @Eutropios
    @Eutropios 3 месяца назад

    Fantastic video. I'll definitely be showing this to others who may need help with bash scripting.
    It's also worth pointing out that a lot of these (but not all) commands and syntaxes can be applied to ksh/mksh, dash and POSIX shell, and zsh too!

  • @Vuden13
    @Vuden13 3 месяца назад

    What is your background?

    • @CODE_IS_EVERYTHING
      @CODE_IS_EVERYTHING  3 месяца назад

      I'm very much a generalist. Most of my "professional" career has been in the DevOps space, but I've been programming for over 15 years (though only half of that with any degree of skill lol) and I try and learn everything.

  • @sphyrnidae6749
    @sphyrnidae6749 3 месяца назад

    🎉🎉🎉🎉

  • @yaluvi7420
    @yaluvi7420 3 месяца назад

    😎😎

  • @zawadhyaa
    @zawadhyaa 3 месяца назад

    what's that font?

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

      The code font is ibm plex mono and the title font is syne

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

      @@CODE_IS_EVERYTHING thanks

  • @user-hd3pz2ow1b
    @user-hd3pz2ow1b Месяц назад

    co0l

  • @user-th8dj2vw3n
    @user-th8dj2vw3n 28 дней назад

  • @hunterlake2943
    @hunterlake2943 3 месяца назад

    Still cant pass, AI voice over but great video! :)

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

      Haha you think my voice is done by AI? 😅 Not sure how to take that. It is my real voice! But I'm glad you liked the video

    • @batchrocketproject4720
      @batchrocketproject4720 20 дней назад

      I instantly close videos with AI voices, and will continue to until they are so good as to be unrecognisable as AI. I stayed the course on this video, no way is the voice AI (but if AI ever got that good then I'd happily consume it).

  • @YTit69
    @YTit69 Месяц назад

    Perfect material, perfect music, perfect voice!
    One think, please a bit slower and pauses a bit longer, cuz content sounds squashed.
    Thank you so much!