Become a bash scripting pro - full course
ฝัง
- เผยแพร่เมื่อ 17 พ.ค. 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 - วิทยาศาสตร์และเทคโนโลยี
I never knew I needed a “Guided Bash Meditation”
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.
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.
I second this. Only stopped for the title
For real. That graphic would be great on a shirt or a hat.
Same
Agreed
I agree
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.
It's interesting that not a lot of creators go in-depth into she'll scripting. It's so useful and portable
Shell scripting is easy n powerful
@@leo25cm
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.
That is great to hear!
I feel like I’m listening to late night FM radio.
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.
Thanks!
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! ❤
I feel like I’m learning and meditating at the same time. This is wonderful. Subscribed
You keep hitting it out of the park. Another amazing video. Holy hell.
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.
I implore @TH-cam to please address this very bad and lazy ai driven content
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!
Thanks!
In the function statement you can also use the “return” keyword “return” or “return n”.
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!
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
Glad you enjoyed it!
Thanks a lot!
I'm learning bash little by little and this video and the last one hit the spot
I’m glad to hear it!
Wonderful vid! Looking forward to more!
Please don’t stop making videos. ❤. Keep it up! Too good.
I had some trouble understanding how the positional variables worked until I saw the ffmpeg example and then it clicked! Thanks!
Dude your content is amazing, keep it up!
Thank you for teaching me. This is top grade knowledge that you are teaching us.
Great videos looking forward to the next one.
such an awesome explaination! thank you for this
Really awesome! Thank you so much and see you in the next one too.
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
Glad to hear it!
This is the ABS (Advanced Bash Scripting) Guide speed run.
Great video! Need more! 👏
dank content the middle school teachers need to steal this and create some yung engineers
Telling me that bash is a command syntax language unravels much of the mystery behind why my scripts have sucked. Thanks
nice, you acually explained all about bash, thanks.
Thanks for this awesome video/resource
Really unique Editing style ... feels calming and mental rush just boils down! ... Subscribed! for your efforts !
Thanks!
thx for the video! I’m sure learning this will help me in the future
more videos exactly like this. fundamentals of linux is great stuff.
This was superb. The music choice was fantastic if conscious, because it helped immensely with focus.
Also Bash Pro Shop merch when?
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.
This video is an expected pleasure
Thank you sir!
great video, subscribed
Super helpful thank you!
I’m glad to hear it!
The title got me, there’s one that just opened near my place😂😂😂😂😂❤
So many pro-tips and nuanced demos, thank you! Also great voice tbf.
Very useful thanks.
Good Job !
Nice useful video. 👏
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?
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.
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.
This video is awesome
Subscribed Brother!
I love this n you
Thank you
Awesome video, so much content, so well explained. Love the added process at the end
This production quality is too high, the channel will blow up soon.
fantastic video! this ends up being a good refresher video too!
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.
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.
Lmao love the thumbnail 😂
This is golden!!! What font do you use for the terminal?
Thanks! And its IBM Plex Mono (www.programmingfonts.org/#plex-mono)
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.
Bash is cow complete! cowsay "Thanks! You have another subscriber."
Thanks! More of this please! 🙂
Really interesting. and concise, kudos!!!
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.
Good catch. You’re correct, I should’ve had it the other way around
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!
thanks for sharing. here is the comment for the algo!
thanks a ton!! can you please make video or if possible share reference sites for learning docker and k8s.
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.
Can you pls tell me what is the font you use in this video? The # sign look so unique
I’m using IBM Plex Mono font for the code and Syne for the titles.
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........
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.
whats the zshell interface/custom form you use? I'd love to try it.
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.
I need a tshirt with that thumbnail
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
Ah good catch, not sure how I missed that.
I did wonder why the /usr/bin/env was so common in scripts.
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
I’m glad to hear it!
What color Schema is that? Looks beautiful
I believe it is GitHub Dark.
PLEASE make a hat with Bash Pro Shop on it. I would buy it so fast
Haha I’d love to but I imagine I’d be inviting trouble. But I’ll look into it.
What font did you use btw?
For the code it is IBM Plex Mono. The titles are syne
What tool did ya use to visualise these ?
Nothing fancy, just used revealjs with some custom styling
🎉🎉🎉🎉
co0l
How is hardcoding the path to "env" any better than hardcoding the path to "bash"?
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.
😎😎
What is your background?
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.
what's that font?
The code font is ibm plex mono and the title font is syne
@@CODE_IS_EVERYTHING thanks
Still cant pass, AI voice over but great video! :)
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
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!