yego.me
💡 Stop wasting time. Read Youtube instead of watch. Download Chrome Extension

Shell Scripting Lesson 2


3m read
·Nov 3, 2024

Processing might take a few minutes. Refresh later.

Hey guys,

These matkins on one today is, um, shell scripting lesson. You should have watched the introduction to shell scripting, which was shell scripting lesson 1, and it basically explained what shell scripting was to you.

So in this video, I'm just going to dive right in, and I'm show you how to shell script. I will be using iTerm as my terminal application. You can use Terminal, but I prefer to use iTerm. Um, I will be using Mac Vi EM to edit my shell script. You can use Nano in Terminal or whatever you would like.

Here, here I go. I'm going to be showing you how to shell script, and I'm not actually going to be teaching you everything about shell scripting, but a few things in this shell scripting lesson. So I'll just demonstrate this to you. I'm using my favorite text editor, Mac Vi EM, so I'm going to be showing you shell scripting.

So you can make a text file however you want. You probably can just see DDO desktop and type nano hi.sh, and then you'll create a file called hi.sh and use nano as your editor. I'm just going to use a separate editor because it has a GUI. For those of you who haven't watched my terminal lessons, it'll be easier for you.

So any shell script we're writing, any shell program that's going to run in the shell, since we're using your shell as a programming language, is #!/bin/sh. That's just to say run this with sh, which is a shell program. You can change this from sh to bash if you like bash more, but I personally like sh.

Like in Terminal, if you type sh, then you're in a separate shell. And yeah, but if you like bash, you can change that to bash. I'm going to make it sa. You can also make it zsh, but that's all just kind of pointless. Oh, I'm just going to keep on editing this file.

So right here in the next line in shell scripting is all terminal commands. So if you want to make the shell script, first type the command ls /. You type that as the first line. And now, when this runs first over on ls /, now say you want to unzip a file. You go to the next line, type unzip space the path of that file, and you can do ~ for their home directory.

And then you can go on to the next line. Say before you want to do that unzip, you want to check if this file exists because otherwise it wouldn't be cool. This is where if statements come in. So we already know that we can run a command in Terminal like unzip, and we know that also in shell scripts we can run commands on individual lines.

But there are a few commands you didn't know about, like if or elif or fi. So I'll show them to you. So say we want to check if ~/desktop exists. What we want to do is type if space left bracket space dash f space and then the path of the file like ~/desktop/hi.zip, and then a space and then a closed bracket. Then you want to say then. So we do semicolon space then, and then we have the code you want under that.

Now at some point, we have to say, "Okay, this is the end of the if." So in order to do that, you say fi. So right now, this one line of code unzip ~/desktop/hi.zip will only happen if dash f ~/desktop/hi.zip is true. That means if ~/desktop/hi.zip is a file and it exists, then do these lines of codes between the if and the fi.

And then, yeah, so now if I add something under this, it says rm ~/desktop/hi.zip. This would run no matter what because it's outside of this fi line right there. That's important. So if we just grab this and put it right here, right in before the fi, then right here is inside of this if.

So, um, that's cool. So now we've successfully set up this thing so hi.zip exists on your desktop. Yeah, but that's kind of useless. So I'm going to be showing you just how to make a defense system that checks if a file has been deleted.

So first of all, let's say I'm going to be teaching you a few terminal commands with this as well. The first line of your code is while space bracket space true space close bracket, space too, then at the end of the file is done.

So everything... This is a while loop, so everything inside of these two... three line...

More Articles

View All
Office Hours With Sal: Monday, March 16 Livestream From Homeroom
Hello Facebook and Twitter and now YouTube. Okay, thanks. Uh, uh, hello everyone! Asal here and, uh, so as promised, uh, we are going to continue with these daily live streams. Given all of the school closures that are happening around the country and aro…
Counting by tens | Counting | Early Math | Khan Academy
So we are told, let’s count by tens, and we go 10, 20, blank, 40, 50, 60, 70, 80, 90, 000. What number did we miss? Pause the video. What number did we miss right over here? Well, if we’re counting by tens, we would go 10, 20, 30, 40, 50, 60, 70, 80, 90, …
Zeros of polynomials introduction | Polynomial graphs | Algebra 2 | Khan Academy
Let’s say that we have a polynomial ( p ) of ( x ) and we can factor it. We can put it in the form ( (x - 1)(x + 2)(x - 3)(x + 4) ). What we are concerned with are the zeros of this polynomial. You might say, “What is a zero of a polynomial?” Well, those …
Living Alone🌈 a day in my life in Tokyo, shopping spree 🛍, eating yummy stuff 🍣🇯🇵
Foreign [Music] Good morning everyone! Today we’re gonna spend the whole day in Tokyo shopping, eating yummy stuff, chilling. But we learned you are gonna do our laundry routine first. One habit that I never skip in the mornings is doing my skincare routi…
Messages For The Future
Hey, Vsauce. Michael here. This is Earth as seen from Saturn. That is us right there. And if you look closely, okay, see this little protuberance? That’s the Moon. This image was taken by the Cassini spacecraft on July 19th, 2013, at 21:27 Coordinated Uni…
AI for Digital SAT prep
All right, everybody! Well, we are going to take time to now introduce, uh, myself as the host and then I’ll let my amazing panelists go ahead and introduce themselves. So nice to meet you! My name is Danielle Sullivan. I am Senior Manager of District Par…