Thank you, I've been using Linux Mint for a year or so. I'm just starting to play with different commands in terminal and want to learn to use them. Beginners tutorials like this for writing useful scripts is what I was looking for. Thank you again
Watching this in 2021 and all I can say is that you sir have inspired me to embark on my forgotten IT Journey. If I make to the big leagues Joe Collins will receive credit. Much appreciated !!
This video is an eye opener for me, I always though Shell scripting is very tough. but after watching your video, It feels easy for me, So I'm gonna give it a try.
There's something about your scripting videos that I really enjoy. I'm a hobiest programmer, and I've written many'a script to make repetitive tasks easier, so I'm no stranger to bash. But even though this video is aimed toward beginner to intermediate users, I find myself drawn in. Also, I find the sound of your keyboard kinda relaxing. Almost like ASMR. Lol
for me Mr. Collins.. your goal has been accomplished... another door opened, the light bulb switch flipped on.. .. awesome.. now there is another direcrion to go... who ever would have though that at 57, understanding operating systems and pc's could be fun,,,lol..well done vid as per usual..
Cool video. I started writing scripts about 4 months ago knowing nothing. Google was my best friend. Every time I had an idea, I just googled the question and it got me started. Every question that came up, I googled it and got the answer. Now I am ready for a book, but Google got me started. Thanks.
I used to use the shell in Amiga-Dos on the Amiga and Xtree in MS-DOS quite a bit, a very long time ago and enjoyed the control I had over the system, I have done a little bit of scripting on Raspians shell on the Raspberry Pi, this has inspired me to take it further! Thanks for the video Joe and the book recommendation which I will download and print if it's not too large.
YES!!!!!! 👍👍👍👍 THANKS JOE! I've been waiting for more BASH & Scripting videos from you. The subject matter is interesting and actually incredibly FUN to me! And when you went (somewhat) in-depth on several points of your top 5 reasons you love LINUX video yesterday, I thought to myself "hopefully he'll release more BASH / Terminal videos". Love that you're back doing *more* LINUX uploads. And you sound happy as well (as a side note) so hopefully your time off served you well 😬 Cheers! H.B.
Joe clearly you truly belive in in what linux stands for. Free and open!! And so should knowlage!! A great video. And Cleary explained. Thanks for your work!!!
This is great. I spent hours perfecting syntax through about an hours worth of videos but had no idea I could run regular terminal commands as scripts. Wow, linux boggles my mind once again. I aways had a group of four or so commands I ran together whenever I booted up, but not more! Im only (what feels like) 1 minute in so I hope to see if this video includes ways to 'trigger(?)' at different times like on startup or just at time increments. Ive already watched and liked a few of your videos like shell basics but this little snippet I didnt get from anywhere else boggled my mind. There was another video on bash scripting that demanded I first learn vim, apparently its more powerful than poor 'lil Geany and Sweet Granny Nano. But I don''t need that power right now, drowning men don't need a yacht when a log will do. I could write this stuff with proper 1/2cm indentations on a piece of paper and scan it onto my computer at this point. Subscribed thrice over, i'm eating this shit up like i've been starving Cuh
Dude, Joe, this was the video that's gotten a fire under my ass! I've been wanting to learn to code, for a long time, and I've been wanting to dig deeper into using the CLI. I followed the entire video, and created the two scripts you did, following the entire way. Now I'm looking for more resources, because I GOTTA learn more! Thank you for helping me get off my dead ass and do something!
Thanks for uploading this i have a practical assessment due soon and needed to research and learn how to script in bash! This has been extremely helpful!
Just saw this other video in which the guy said something like: Oh! It doesn't matter as long as you put .sh at the end. For one reason or another, I trust that she bang a lot better than the .sh Very cool video, one can tell that you actually have fun doing this kind of thing, at the very least, I know I am.
Hey Joe , great tutorial mate ... made my life with daily system admin more efficient and effective ..... Thanks again and keep up the great vids.. regards
You're a good Man. Software is so Simple. I have Mastered Computer Hardware & Architecture. 25 + yrs. Memory is extremely important. Memory storage and allocation "Structure", is so important.
leaning VIM (VI) is painful, but wow, once you start getting it . . . it is worth the price of admission. If you're aspiring to program, learning VIM is a bonus. VIM commands are available on pretty much every major text editor, and VIM is pretty much like a plague, it is everywhere. I pretty much equate learning VIM to learning scales on a guitar, you can learn to play songs without it, but knowing it makes it easier to learn songs. You should learn it, if for no other reason than you are relatively gifted as a teacher, and if you want to program knowing vim makes you more valuable imho.
I've been using GNU/Linux for decades and still mess up even on prompt so ..... Imposter syndrome is real tho, I suffered that for a really long time at the start then realized even seasoned engineers make mistakes and have to look things up. Thanks for including your mistakes and keeping it real.
Thank you for putting the effort in creating this video, but you have left a fair amount of things unexplained here (for a beginner tutorial of course)
My bash scripting expertise is intermediate at best, but... 32:00 why not use _getopts_ and a _case_ block (or just a _case_ block) to parse your command line input? 37:30 putting double quotes around *$@* will break your loop, concatenates each argument into one. (you'll get "file1 file2 file3" instead of "file1" "file2" "file3")
Using bash scripting, I wrote a whole home alarm system program that uses cheap Chinese sensors to read doors, windows, leaks under sinks, can trigger a relay that sounds a siren, and if someone presses my doorbell, it takes pictures from all my security cameras and emails them to my phone along with SMS messages. All this using BASH scripting on a Raspberry PI.
As far as I can figure out currently there is no option "-yy", only the option "-y". I have not found "-yy" in the man pages. But apt does work also correct if you use the option "-y", even if you have written "apt -yyyy install …". PS: I'm not sure if "-yy" is an alias for "--force-yes" or was it in former versions of apt-get. apt get knows two yes-options: "--allow-yes" and "--force-yes", the second means "yes in every case, and do not ask me", but "--allow-yes" stops the process in some critical cases. You have to read the man pages for exact details.
It's not in the documentation... I found it on some page about scripting in bash. It originally applies to apt-get. What it does is essentially ask yes to two questions that might be answered when an install is going on. The first is "Do you want to install?" and the second is "Do you really want to install?" I guess... :)
@@EzeeLinux Ok. Thanks for your answer! Honestly I've had a nebulous rememberance, that I might have read and even used this -yy once a long time ago, but I have not found any info about it again in man pages or in the www. BTW: I've written a variation of your up script, it's ready. I just have to complete the README files. I've changed many details, and will publish it at my GitHub account by mentioning you and your pages.
i have an idea for you, Bash scripts they was makes menus for different sigle action with scripting File managent. How we scan 2 different folders. Folder 1 is a Storage folder (sample: on the NAS). The other is on PC or workstation. We can synchronize the NAS folder with the Download folder. After that we delete the files in the download folder. My abbo is safe
Hi I'm struggling to understand the syntax and elements used in shell scripting. Eg, when to use (()), {{}}, or what is the meaning of the special characters like -z, -n, ! etc. Seems like most expect you to know this already. How do I go about learning this? Is there any book you recommend?
I have discovered your Channel few days ago. Congratulations Collins! So I would like to ask you about how can I plan a programm or a script. Is there a method to follow? Other question: do you have suggestions about free labs to practice this knowedge?
Joe Collins I used to run Ubuntu (now Kali) I remember once I did an auto dist upgrade and lost my nvidia driver settings (I wanted better hashcat speeds and nuveau offers crap cuda). It switched back to nuveau but was conflicting and I ended up with a blank screen. I had to tty to blacklist the nuveau. Was a massive headache lol
At 18:06, you said "This time I am actually going to put this in my bin folder". What is the reason/ advantage of putting it in the bin folder again? I know you mentioned it earlier in the video, but I didn't understand what you meant. Thanks for the reply!
The local ~/bin is where you store personal scripts and programs. All you have to do is create it on Ubuntu based systems and it will automatically be added to the path that the system takes to find programs.
You'll need to add these lines to the end of your .bashrc file: # set PATH so it includes user's private bin if it exists if [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin:$PATH" fi
as soon as he said that he was a late bloomer to linux/bash scripting i was hooked because i am too.
Thank you!
Same here - I am kicking myself for not learning it earlier, but oh well
as soon as i read this comment he said that lol
Instablaster
I love that you include your mistakes and show how you go about fixing them, super helpful 😁
It tells the shell that it's a script and tells it what command interpreter to use. #! = script, /binbash = the cli to use.
Thank you, I've been using Linux Mint for a year or so. I'm just starting to play with different commands in terminal and want to learn to use them. Beginners tutorials like this for writing useful scripts is what I was looking for. Thank you again
Joe, you're just a master at teaching Unix! Thank you for your precious time!
Much details in everything. People shouldn't fear Linux system if they come to Joe's channel.
You were reading my mind today. I needed a simple script this morning and had no idea how to make it.
Watching this in 2021 and all I can say is that you sir have inspired me to embark on my forgotten IT Journey. If I make to the big leagues Joe Collins will receive credit. Much appreciated !!
This video is an eye opener for me, I always though Shell scripting is very tough. but after watching your video, It feels easy for me, So I'm gonna give it a try.
There's something about your scripting videos that I really enjoy.
I'm a hobiest programmer, and I've written many'a script to make repetitive tasks easier, so I'm no stranger to bash. But even though this video is aimed toward beginner to intermediate users, I find myself drawn in.
Also, I find the sound of your keyboard kinda relaxing. Almost like ASMR. Lol
Sounds like you find the sound of his keyboard relaxing.
@@Atman89 lol 😂 he just said that
for me Mr. Collins.. your goal has been accomplished... another door opened, the light bulb switch flipped on.. .. awesome.. now there is another direcrion to go... who ever would have though that at 57, understanding operating systems and pc's could be fun,,,lol..well done vid as per usual..
57 and switched to linux??? What not to like here ☺ Welcome to linux my friend 😉
great video for beginners... and loved how you showed mistakes and how to fix them... look forward to seeing more of your videos
Thanks again. Not too fast, not too long. A good review for me.
Cool video. I started writing scripts about 4 months ago knowing nothing. Google was my best friend. Every time I had an idea, I just googled the question and it got me started. Every question that came up, I googled it and got the answer. Now I am ready for a book, but Google got me started. Thanks.
you are awesome. Don't be afraid of making mistakes
hey man I really appreciate you for taking the time to make this video
I made my first script to run a command on startup for my raspberry pi after watching your video . Thanks keep them videos coming
God! I just find a gem. Following this with my nokia n900. Thank you ❤
I used to use the shell in Amiga-Dos on the Amiga and Xtree in MS-DOS quite a bit, a very long time ago and enjoyed the control I had over the system, I have done a little bit of scripting on Raspians shell on the Raspberry Pi, this has inspired me to take it further!
Thanks for the video Joe and the book recommendation which I will download and print if it's not too large.
YES!!!!!! 👍👍👍👍 THANKS JOE! I've been waiting for more BASH & Scripting videos from you. The subject matter is interesting and actually incredibly FUN to me!
And when you went (somewhat) in-depth on several points of your top 5 reasons you love LINUX video yesterday, I thought to myself "hopefully he'll release more BASH / Terminal videos".
Love that you're back doing *more* LINUX uploads. And you sound happy as well (as a side note) so hopefully your time off served you well 😬
Cheers!
H.B.
Glad to see you back at what you do so well. Teach on...
Thanks Joe. Just what I needed.
Joe clearly you truly belive in in what linux stands for. Free and open!! And so should knowlage!! A great video. And Cleary explained. Thanks for your work!!!
This is great. I spent hours perfecting syntax through about an hours worth of videos but had no idea I could run regular terminal commands as scripts. Wow, linux boggles my mind once again. I aways had a group of four or so commands I ran together whenever I booted up, but not more! Im only (what feels like) 1 minute in so I hope to see if this video includes ways to 'trigger(?)' at different times like on startup or just at time increments.
Ive already watched and liked a few of your videos like shell basics but this little snippet I didnt get from anywhere else boggled my mind. There was another video on bash scripting that demanded I first learn vim, apparently its more powerful than poor 'lil Geany and Sweet Granny Nano. But I don''t need that power right now, drowning men don't need a yacht when a log will do. I could write this stuff with proper 1/2cm indentations on a piece of paper and scan it onto my computer at this point.
Subscribed thrice over, i'm eating this shit up like i've been starving Cuh
have you found crons, which will help you "trigger" your scripts.
Thanks Joe! Good info and glad to see you back in the groove.
your honesty and candor just got a subscribe from me. Thank you for making this content. I learned from your video.
I found this tutorial very comprehensive and a good jump off point to do some research. Thank you.
Awesome Joe ! Thanks , I like to see the mechanics of how it all works .
Man this is so beautiful! You explain this so well. Thank you so much
Dude, Joe, this was the video that's gotten a fire under my ass! I've been wanting to learn to code, for a long time, and I've been wanting to dig deeper into using the CLI. I followed the entire video, and created the two scripts you did, following the entire way. Now I'm looking for more resources, because I GOTTA learn more! Thank you for helping me get off my dead ass and do something!
the tutorial was enlighting I wanna know more about scripting
Thanks for uploading this i have a practical assessment due soon and needed to research and learn how to script in bash! This has been extremely helpful!
@Joe
Very good video's you making.
Nice video and audio quality.
Nicely done!
Wow! Thank you! So much great information and you explain it extremely well! Thank You!
Just saw this other video in which the guy said something like: Oh! It doesn't matter as long as you put .sh at the end.
For one reason or another, I trust that she bang a lot better than the .sh
Very cool video, one can tell that you actually have fun doing this kind of thing, at the very least, I know I am.
OUTSTANDING video, Cheers, The book is VERY well written. Even I am getting it!! Thanks again
Joe thanks so much, this is spot on! Even the mistakes help in the learning process! keep up the great work!!!
Excellent! easy to understand and follow up; great job!
Coming from an programming environment, this all makes logical sense to me.
It is just a matter of learning the proper syntax for bash.
Thanks Joe ! Time to me to create my own bash script :) and bip up for the share
Great Video. I have alias that runs the Sudo apt update && Sudo apt dist-upgrade. I named it "updates".
Sharp and clear ,Thank you.
you're the man.. thanks mate..
Hey Joe , great tutorial mate ... made my life with daily system admin more efficient and effective ..... Thanks again and keep up the great vids.. regards
Bravo..Bravo...Nice Video Joe. Keep -em coming.
You're a good Man.
Software is so Simple.
I have Mastered Computer Hardware & Architecture. 25 + yrs.
Memory is extremely important.
Memory storage and allocation "Structure", is so important.
so cool you keep putting out content man keep it up!
Not lazy... just working efficiently :)
Thank You so much for sharing your knowledge. i find this very helpful
leaning VIM (VI) is painful, but wow, once you start getting it . . . it is worth the price of admission. If you're aspiring to program, learning VIM is a bonus. VIM commands are available on pretty much every major text editor, and VIM is pretty much like a plague, it is everywhere. I pretty much equate learning VIM to learning scales on a guitar, you can learn to play songs without it, but knowing it makes it easier to learn songs. You should learn it, if for no other reason than you are relatively gifted as a teacher, and if you want to program knowing vim makes you more valuable imho.
Very good a great help. Which got me out of Jam ! and resolved a problem for me !
Love this! So helpful
thank you, man. Love your videos.
thank you so much joe. this is super helpful!!!
Excelente!. Gracias Joe.
Nice Video Joe! Thanks for posting, you're a mensch!
I've been using GNU/Linux for decades and still mess up even on prompt so .....
Imposter syndrome is real tho, I suffered that for a really long time at the start then realized even seasoned engineers make mistakes and have to look things up.
Thanks for including your mistakes and keeping it real.
Wonderful information.
Thank you for this, very informative
Thanks Joe! Wow, I learned how to do block text without using echo
gracias, English is not my first language and I understood every concept
If you are using the terminal in Ubuntu, you can also use 'gedit' instead of 'nano'.
Thank you for putting the effort in creating this video, but you have left a fair amount of things unexplained here (for a beginner tutorial of course)
My bash scripting expertise is intermediate at best, but...
32:00 why not use _getopts_ and a _case_ block (or just a _case_ block) to parse your command line input?
37:30 putting double quotes around *$@* will break your loop, concatenates each argument into one. (you'll get "file1 file2 file3" instead of "file1" "file2" "file3")
That's a lot of extra code to deal with. I keep it simple. :)
@@EzeeLinux fair enough
Lovely explanation
Using bash scripting, I wrote a whole home alarm system program that uses cheap Chinese sensors to read doors, windows, leaks under sinks, can trigger a relay that sounds a siren, and if someone presses my doorbell, it takes pictures from all my security cameras and emails them to my phone along with SMS messages. All this using BASH scripting on a Raspberry PI.
Any video on how the pipe work?
As far as I can figure out currently there is no option "-yy", only the option "-y". I have not found "-yy" in the man pages. But apt does work also correct if you use the option "-y", even if you have written "apt -yyyy install …".
PS: I'm not sure if "-yy" is an alias for "--force-yes" or was it in former versions of apt-get.
apt get knows two yes-options: "--allow-yes" and "--force-yes", the second means "yes in every case, and do not ask me", but "--allow-yes" stops the process in some critical cases. You have to read the man pages for exact details.
It's not in the documentation... I found it on some page about scripting in bash. It originally applies to apt-get. What it does is essentially ask yes to two questions that might be answered when an install is going on. The first is "Do you want to install?" and the second is "Do you really want to install?" I guess... :)
@@EzeeLinux Ok. Thanks for your answer!
Honestly I've had a nebulous rememberance, that I might have read and even used this -yy once a long time ago, but I have not found any info about it again in man pages or in the www.
BTW: I've written a variation of your up script, it's ready. I just have to complete the README files. I've changed many details, and will publish it at my GitHub account by mentioning you and your pages.
excellent video. ive subscibed you that good. hello from west australia. your voice is perfect to follow
Great video, Joe! Thanks!
It's be simple to tell anyone can understand thank u for this make video
I Miss yiur Linux videos
amazing video, thanks
Thanks for the video!
Thank you for this. :)
i have an idea for you,
Bash scripts they was makes menus for different sigle action with scripting
File managent. How we scan 2 different folders. Folder 1 is a Storage folder (sample: on the NAS). The other is on PC or workstation. We can synchronize the NAS folder with the Download folder. After that we delete the files in the download folder.
My abbo is safe
Gosh, "cat
Thanks man, great video!
Great video!!!!
What is the purpose of a sha-bang and why is it necessary when scripting?
Cheers Mate! Much appreciated.
Hi I'm struggling to understand the syntax and elements used in shell scripting. Eg, when to use (()), {{}}, or what is the meaning of the special characters like -z, -n, ! etc. Seems like most expect you to know this already. How do I go about learning this? Is there any book you recommend?
linuxcommand.org/tlcl.php
I have discovered your Channel few days ago. Congratulations Collins! So I would like to ask you about how can I plan a programm or a script. Is there a method to follow? Other question: do you have suggestions about free labs to practice this knowedge?
Here's very good place to start: linuxcommand.org/tlcl.php
An update -yy is fine but a distro upgrade isn’t. Lots of programs and setting can be scrapped or replaced doing that
Done it for years. No problems. The default settings in Ubuntu now favor automated upgrades. The devs are careful not to break anything... :)
Joe Collins I used to run Ubuntu (now Kali) I remember once I did an auto dist upgrade and lost my nvidia driver settings (I wanted better hashcat speeds and nuveau offers crap cuda). It switched back to nuveau but was conflicting and I ended up with a blank screen. I had to tty to blacklist the nuveau. Was a massive headache lol
Hi on the creating a bin fold in your home dir, is it "touch bin"? Any help on this would be great!!
mkdir ~/bin
This was a great tutorial! Thanks for posting it. I've been using Linux since 1997 and never really dove into bash, but now I will. Thanks again.
Texas Gambler how did you manage to use Linux for over 20 years but never use Bash? Did you use a different shell?
Very good video. Thanks for sharing your knowlage :)
simple... informative... easy.
Very nice tutorial thank you. Thank you for the book recommendation too
Great video
You had me at lazy! 😂👍
i now understand. thank you
my uptime command is showing me 0 users are logged in, can someone advise me on this, thanks
Is there a special reason why you use apt-get instead of apt?
It has more options and is more script friendly because there is no progress bar. :)
apt-get gets all of the dependencies i think
But does it lift bottle caps?
I believe best practises say you use [[ ]] instead of [ ] for conditionals?
What are your thoughts on this?
I don't care as long as it works.
@@EzeeLinux Awesome, Wahala ti e niyen.
Thank you so much for this video
very helpful!!
"Ok thats an Invalid argument, Your an idiot.. Go away!"
At 18:06, you said "This time I am actually going to put this in my bin folder". What is the reason/ advantage of putting it in the bin folder again? I know you mentioned it earlier in the video, but I didn't understand what you meant. Thanks for the reply!
The local ~/bin is where you store personal scripts and programs. All you have to do is create it on Ubuntu based systems and it will automatically be added to the path that the system takes to find programs.
Love the video Joe,
I'm on arch and the bin folder doesn't seem to get detected, what do i have to do? Logging out doesn't work
You'll need to add these lines to the end of your .bashrc file:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi