Shell Scripting Crash Course - Beginner Level

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ธ.ค. 2024

ความคิดเห็น • 529

  • @oosmanbeekawoo
    @oosmanbeekawoo 3 ปีที่แล้ว +266

    For those in a hurry!
    Till 6:13 he explains what is Shell Scripting and how it's done: In Windows, you create .bat files with a command on each line in the file so CMD executes one-by-one. In Linux, we don't use .bat but .sh, and also, we specify a Shebang so Linux knows what interpreter to use (the default is Bash)
    Till 7:45 he explains Variables (i.e x = "Text") and how to make Bash distinguish between letter 'x' and our Variable 'x'
    Till 8:49 he tells how we can prompt the user for input with command 'read'. Terminal pauses, until data is input. To display a specific message before the blinking cursor use 'read -p ["TEXT: "]'. (-p displays the "TEXT" you provide before it collects input.)
    To store the data input in a Variable write the name of the Variable at the end of the command:
    'read -p ["TEXT: "] VAR'

    • @smitmangukiya
      @smitmangukiya 3 ปีที่แล้ว +2

      Thanks

    • @stuffandymakes1648
      @stuffandymakes1648 3 ปีที่แล้ว +18

      Technically speaking, in Unix/Linux/macOS, the file extension on the file name of the script is irrelevant. People can be opinionated about using it, but it truly is only a convention. What makes your script file an executable script in Unix-like operating systems is setting the execute (x) permission on the file. Then, the shebang line (#!) tells the system what type of file it is. The first two characters (sometimes they are each 16-bit) or bytes are called the file signature or magic numbers. The shell is using the exec() system call, which uses the magic numbers to determine how to launch the file as a new process: Binary file (run the machine code inside, depending on the OS) or text file (launch an interpreter as a new process and pass it the text to interpret).

    • @realkarthiknair
      @realkarthiknair 3 ปีที่แล้ว +2

      @@stuffandymakes1648 yep u dont even need an extension

    • @idk-jb7lx
      @idk-jb7lx 2 ปีที่แล้ว

      bash scripts are more similiar to powershell scripts than they are to batch files to be completely fair. sure you can use them like you would use batch files in Windows but they're way more powerful than that since they're actual programming scripts and not just a set of instructions.

    • @maindepth8830
      @maindepth8830 2 ปีที่แล้ว

      Thank u

  • @icon458
    @icon458 ปีที่แล้ว +6

    I have a test in 3 hours' time and this guy just explained a whole chapter with 98 pages in 32 minutes.
    Thanks, man keep the videos coming💝

  • @origamicaptain5664
    @origamicaptain5664 4 ปีที่แล้ว +1

    I'm so happy that you aren't being condescending, but friendly as well. Clear, concise language. Much appreciated.

  • @cherrydrop7025
    @cherrydrop7025 2 ปีที่แล้ว +1

    Revisiting for a great refreshah. I remember watching this at random when I started at a startup based in Boston... gave me the full MA experience. Love the accent.

  • @mikeigoe
    @mikeigoe 6 ปีที่แล้ว +60

    Bookmarked - use Linux all the time in a job I'm now 3 years into and never bothered to learn this stuff when moving over from WIndows, even though I swapped out cmd for git bash a few months back on all my PCs. I don't have time to watch your TH-cam videos anymore - that MERN course is taking up all my free time :D - great course btw: you have a wonderful, natural teaching style.

    • @priyakdey7891
      @priyakdey7891 5 ปีที่แล้ว

      Dude is the MERN from Traversy ? which one and where it is ?

    • @omarislearning3329
      @omarislearning3329 5 ปีที่แล้ว

      honest question, did you come back to it after you bookmarked it or nah? i am just wondering since i seem to never do when i bookmark stuff.

    • @insideTheMirror_
      @insideTheMirror_ 5 ปีที่แล้ว

      plus he's a hottie ;)

    • @navjotsingh2251
      @navjotsingh2251 4 ปีที่แล้ว

      omarislearning I do come back to things I book mark. I’ve book marked a python cheat sheet, bash cheat sheet, calculus book and a data structures/algorithms website. I’m constantly going back to them sites, so having them bookmarked is helpful.

  • @raghulbaskar7746
    @raghulbaskar7746 3 ปีที่แล้ว +120

    echo "Awesome Content!!!" >> Traversy Media

    • @Skeleton-wn2zu
      @Skeleton-wn2zu 3 ปีที่แล้ว +11

      NAME="Raghul Baskar"
      echo "Nice comment ${NAME}!" >> $NAME

    • @KangJangkrik
      @KangJangkrik 3 ปีที่แล้ว +4

      while 1; do echo 'Hello everyone!'; done

    • @yersonlasso9754
      @yersonlasso9754 2 ปีที่แล้ว +2

      Not to be that guy but... file has no extension

    • @hxz2776
      @hxz2776 2 ปีที่แล้ว +3

      @@yersonlasso9754 file extensions are not really required much outside of Windows

    • @adefioyes5692
      @adefioyes5692 2 ปีที่แล้ว

      Nailed it fr

  • @madferit1987
    @madferit1987 6 ปีที่แล้ว +23

    Have I ever told you I love you man? Just what I needed

  • @naqeebghazi9412
    @naqeebghazi9412 ปีที่แล้ว

    One of the best beginner videos for shell scripting. Doesnt over-explain. Great stuff!

  • @omarsuriel1112
    @omarsuriel1112 3 ปีที่แล้ว +6

    I can’t think of a more deserving person for all the success he’s got

  • @NikhilMoreBCSE
    @NikhilMoreBCSE 3 ปีที่แล้ว +4

    This is the best tutorial for bash scripting covered in such a short time. You really saved me

  • @manish-mk
    @manish-mk 6 ปีที่แล้ว +131

    It's always so interesting to learn from you.
    You are great teacher.
    I have huge respect for you

  • @fellipedemoraes3748
    @fellipedemoraes3748 3 ปีที่แล้ว

    This is by far the most distinct programming language I have come across and that's a comparison with PHP, JavaScript, C++, and Java.

  • @asuezeigwe9381
    @asuezeigwe9381 ปีที่แล้ว

    I was so lost watching other content on this topic as I'm a newbie
    You just saved me

  • @ericedlund3140
    @ericedlund3140 3 ปีที่แล้ว

    You just saved me a $20 course online, thank you.

  • @rokzabukovec4685
    @rokzabukovec4685 6 ปีที่แล้ว +72

    Just in time Brad! I got a paper due on sunday on bash scripting :)

    • @brianadams2862
      @brianadams2862 6 ปีที่แล้ว

      Lucky you were

    • @metdelta1
      @metdelta1 5 ปีที่แล้ว +2

      @@brianadams2862 Did we meet in The Summer of 69??

    • @brianadams2862
      @brianadams2862 5 ปีที่แล้ว

      @@metdelta1 Nop

  • @Dr.Berrel
    @Dr.Berrel 2 ปีที่แล้ว

    Just listening to this man speak calms me down. You get my like sir.

  • @medaminemahmoud7245
    @medaminemahmoud7245 3 ปีที่แล้ว +3

    in 27:29 there is actually a bug; the last line will not be displayed, to allow the output of the incomplete line and fix the last line problem
    you should try this code:
    #!/bin/bash
    LINE=0
    FILE_PATH="./new-1.txt"
    # Add IFS= option before read command to prevent leading/trailing whitespace from being trimmed
    # The extra -n test will detect this so that the loop body is allowed to output the incomplete line.
    while IFS= read -r CURRENT_LINE || [ -n "$CURRENT_LINE" ]; do
    echo "$LINE:$CURRENT_LINE"
    ((LINE += 1))
    done

  • @GoonCity777
    @GoonCity777 4 ปีที่แล้ว

    I don't want to be an expert on this, but just know enough to be aware. This did it!!

  • @amirnazari6427
    @amirnazari6427 4 ปีที่แล้ว +1

    One of the best shell scripting videos! Coherent, Informative, right into the point, and time-saving.

    • @fxstreamer238
      @fxstreamer238 4 ปีที่แล้ว

      please tell me you know the WHILE loops in other programing languages right? and how on earth this while loop that he just read and wrote from his script doesnt need any explanation of what -r is? and what the condition of the while loop is? how is this choherent and time saving? I assume you are a programmer like myself

  • @CYB3RC0RP
    @CYB3RC0RP 2 ปีที่แล้ว

    Probably the best video I've found on the subject so far.

  • @altairibn-laahad8442
    @altairibn-laahad8442 4 ปีที่แล้ว +4

    2:54 Not anymore, as of 10.15 (Catalina) macOS uses zsh as its default shell. bash executable is still present on the system though and your scripts will run just fine as long as you include the shebang (#!/bin/bash) as their first line.

  • @helaolange
    @helaolange 3 ปีที่แล้ว

    Uploaded 3 years ago...
    Brad, you are the best🐐

  • @aprilmintacpineda2713
    @aprilmintacpineda2713 6 ปีที่แล้ว +7

    Thanks Brad, I really appreciate you doing these tutorials. I think TH-cam should have more people like you.

  • @anshajlogan1040
    @anshajlogan1040 3 ปีที่แล้ว +1

    You save my system design lab
    The teacher take four months for this
    You nailed it on 30 mins🤪🎉❤️

  • @coreyaudet9656
    @coreyaudet9656 3 ปีที่แล้ว

    There is so much Love and appreciation here, I was just poking around and was overcome with positivity.(I was losing all hope for humanity just prior) I'll be camping out here until I can reach an understanding of Bash without BashING something in the process. Thank you all for making it possible to enjoy learning and by supporting one another, we can all get the skills it takes to BASH Bash!

  • @edilsonrj
    @edilsonrj 6 ปีที่แล้ว +30

    Waiting for the intermediate and the advanced one! AMAZING!

  • @charlescai236
    @charlescai236 3 ปีที่แล้ว

    thanks Brad. This is really a short and sweet piece of video and one of my best used half an hour.

  • @kirankumarb2190
    @kirankumarb2190 3 ปีที่แล้ว

    For a Non CS background software Engineer like me. You are just GOD bro. Thanks a lot ❤️

  • @rambo9769
    @rambo9769 4 ปีที่แล้ว +2

    This tutorial is timeless. Wonderful and relevant after 2 years too.

  • @karamveersinghrathore6218
    @karamveersinghrathore6218 ปีที่แล้ว

    Thanks Man for this video, I have my lab exam in 3 hours and this video helped me alot

  • @abdullahahmed8468
    @abdullahahmed8468 2 ปีที่แล้ว

    i have loved this Crash Course video because it has rich content with real case examples

  • @sochisic
    @sochisic 6 ปีที่แล้ว

    Best dev canal ever! Hello from Russia!

  • @aisaacbruno9660
    @aisaacbruno9660 4 ปีที่แล้ว

    it's refreshing to watch a 30 min video that I actually wanna watch, thanks for this video, I'll have a job interview about shell today :)

  • @yesoreyeram
    @yesoreyeram 6 ปีที่แล้ว

    OMG.. the quality and the content diversity of the channel getting improved in every video. Hats off to you.

  • @mdullash2116
    @mdullash2116 4 ปีที่แล้ว

    i don't feel bored any time of learning from your channel...

  • @ruchiradhar1589
    @ruchiradhar1589 4 ปีที่แล้ว +4

    This is honestly one of the best Shell Scripting tutorials out here. Thank you so much for this amazing video, it really helped me a lot!

  • @lee_johnson
    @lee_johnson 3 ปีที่แล้ว

    Your teaching style is awesome man

  • @Nicholas-up4tw
    @Nicholas-up4tw 3 ปีที่แล้ว +11

    Thanks dude! I really appreciate this, especially as a recent cs grad where they make you do at least a half dozen different languages including some less popular ones... I'm just like why in the world did the four years of curriculum never include a single class period to explain bash syntax? Kinda nuts to me.
    But yeah, thank you!

    • @leerobinson1984
      @leerobinson1984 2 ปีที่แล้ว

      I did bash scripting in my cs degree but I cant remember any of it! :-)

  • @JimHenderson19
    @JimHenderson19 ปีที่แล้ว +1

    Great content! I like the pace, just right. Keeps you interested without overwhelming. Easy to follow along. I subscribed!

  • @foodums
    @foodums 4 ปีที่แล้ว +3

    Every time I click on Brad's videos I like it before the intro even plays.. Here in 2020

  • @Anony584
    @Anony584 6 ปีที่แล้ว +1

    The tutorial that teaches what Udacity couldn't break down properly. Thank you!

    • @indestructible247
      @indestructible247 ปีที่แล้ว

      that's why you actually try to look up free sources for learning online before just throwing your money at shit

  • @jeremysmith54565
    @jeremysmith54565 3 ปีที่แล้ว

    Fun little tidbit I like to think is BASH due to it being named after Bourne Again SHell is essentially what it means, was a project by a man with the surname Bourne who essentially abandoned the project but later took it back up himself or someone else or some other people and completed it, is the default in a lot of Linux distros :)

  • @talkohavy
    @talkohavy 2 ปีที่แล้ว +1

    13:06
    Small small fix.
    line 49, the echo should actually say "$NUM1 is less than or equal to $NUM2"

  • @300dionysius
    @300dionysius 4 ปีที่แล้ว

    I really like this non-Indian tutorial. Thanks!

  • @nafeemhaque3357
    @nafeemhaque3357 6 ปีที่แล้ว +5

    You are awesome dude ! Thanks for making the world a lot easier.

  • @CreativeJE
    @CreativeJE 4 ปีที่แล้ว +1

    brad your tutorials are simple straightforward thanks for making everyone's life easier thank you

  • @ReliableRandy
    @ReliableRandy 3 ปีที่แล้ว +20

    "I let my accent slip out a little too much there" HAHAH love it 19:57

  • @brianrheault3086
    @brianrheault3086 2 ปีที่แล้ว

    Awesome video (I'm definitely a beginner). Thanks for the info, and great to hear another New England-er. I'm originally from Mass and I can hear the accent VERY clrearly.

  • @simonkalu
    @simonkalu 6 ปีที่แล้ว

    Brad, man on fire... keep radiating - we shall soon hit 1m subs.

  • @dineshkumarthirugnanam1301
    @dineshkumarthirugnanam1301 3 ปีที่แล้ว

    You just made things simple. Not confusing by putting too much into it. Got it what's needed.👍

  • @aylliumrin7861
    @aylliumrin7861 6 ปีที่แล้ว

    Awesome vid. I like the idea of the channel branching out. There is so much stuff out there and it keeps things fresh.

  • @vishnusk7017
    @vishnusk7017 2 ปีที่แล้ว

    This is a very useful tutorial.... and ur presentation skill is awesome.
    Thanks

  • @OsMoreno
    @OsMoreno 6 ปีที่แล้ว +2

    Thank you Brad!
    Some recommendations to shell scripting learners:
    * writing "set -e" before other instructions, stops the script in case of any command error. It is pretty useful specially when learning shell scripting.
    * also I would recommend use a sandbox for learning, shell script could be destructive (very).

  • @masihsadri
    @masihsadri 5 ปีที่แล้ว

    Thank you, Brad.
    You are definitely the best teacher in the world.

  • @joeldcanfield_spinhead
    @joeldcanfield_spinhead 3 ปีที่แล้ว

    It was quite the exercise reproducing all this in zsh. I don't feel a need to resurrect bash on my Mac, but I do spend time at the command line so I might as well brush up on my antiquated skills.

  • @sfutrell2339
    @sfutrell2339 3 ปีที่แล้ว +1

    Thank you! I am cramming for my Linux +exam and this helps a lot!

  • @robertofolikwei23
    @robertofolikwei23 6 ปีที่แล้ว

    just in time, towards my preparation towards my eCPPT certification.....simple and understanding ...big thanx

  • @nageswararaoguggilla434
    @nageswararaoguggilla434 5 ปีที่แล้ว

    Hi Brad, small correction at 23:58 . the "new-$FILE" should be "$NEW-$FILE" to get the perfect output. please review it and let me know if I am wrong.

  • @adesemowoadeboye1309
    @adesemowoadeboye1309 2 ปีที่แล้ว +1

    God bless u for this awesome content

  • @KyleLombardo8
    @KyleLombardo8 2 ปีที่แล้ว +1

    Wow. The renaming file hack at 24:24 is life changing.

  • @Ahmed-sv9sy
    @Ahmed-sv9sy 4 ปีที่แล้ว +2

    Amazing video man !
    I learnt so much from you by following along on my computer and I can definitely say without a doubt that I'm more comfortable with bash scripting basics after I watched your video.
    Thanks for the educational content
    Keep up the good work !

  • @Christian-lg7uu
    @Christian-lg7uu 6 ปีที่แล้ว

    I like this keep continuing doing this type of tutorial even if there are not related to web.

  • @technofool3
    @technofool3 6 ปีที่แล้ว +3

    Thank you for taking the time to put this together. I learned so much from this, I really appreciate everything you put out.

  • @Jerry-fy2gc
    @Jerry-fy2gc 2 ปีที่แล้ว

    Thanks buddy. It's short video but much tought must of basics in very clear way. Thanks a lot

  • @volder1995
    @volder1995 4 ปีที่แล้ว +1

    I hope this helps me pass my exams at Shell,great tutorial!

  • @alokmeher407
    @alokmeher407 3 ปีที่แล้ว

    Really crash course for bash beginners ...Must go for a 30 min valuable watch...

  • @EddyVinck
    @EddyVinck 6 ปีที่แล้ว

    I recently learned how to setup my own VPS with NGINX and Node on it so this couldn't have better timing, will watch it soon. Thanks Brad.

  • @alphaomega4434
    @alphaomega4434 3 ปีที่แล้ว

    This was really good, I appreciate it you branching out

  • @zapazap
    @zapazap 3 ปีที่แล้ว

    I had been taught that UPPER_CASE variable names should be reserved for system use. Although I do in fact use upper case for variables I export, I always prefix these with some variant of 'BCH_' (my initials) to avoid name clashes.

  • @zacharymiles4300
    @zacharymiles4300 5 ปีที่แล้ว

    Great video. Your teaching is very easy to follow.

  • @leosmilesu2
    @leosmilesu2 4 ปีที่แล้ว

    God bless you, Brad@Traversy Media. Thank you.

  • @demetter7936
    @demetter7936 3 ปีที่แล้ว +1

    My name is also Brad so for a split second it freaked me the hell out when you said it.

  • @BobTrieste
    @BobTrieste 3 ปีที่แล้ว

    Brad all of your videos are great ! Thank you

  • @daemonous
    @daemonous 3 ปีที่แล้ว

    19:55 made me smile, overall great crash course!

  • @sreemathir5194
    @sreemathir5194 3 ปีที่แล้ว

    The BEST tutorial for beginners! Thank you!!

  • @thinkbig5936
    @thinkbig5936 2 ปีที่แล้ว

    if you are my teacher in my school and college days. i will be in a different position. thanks for sharing knowledge in an understandable way.

  • @marklambert2777
    @marklambert2777 4 ปีที่แล้ว

    In most of these beginner tutorials, I never see grep. That was one of the first commands I extensively used and is quite a simple one to explain.

  • @Mohamed-uf5jh
    @Mohamed-uf5jh 4 ปีที่แล้ว +1

    Great Job , easy to follow and very helpful

  • @ReflectTheEmotions
    @ReflectTheEmotions 3 ปีที่แล้ว

    You know this video is a beautiful, educational learning course when its been out for 2 nearly 3 years and only has 55 dislikes compared to that of 6.8K likes, I finally found my shell script beginners course

  • @snxexwinterx5570
    @snxexwinterx5570 5 ปีที่แล้ว

    Thanks for making this man..been looking for a good beginner bash tutorial.

  • @ssaran2
    @ssaran2 5 ปีที่แล้ว

    Thanks Brad. I was always scared of learning bash scripting until I watched your video. Subscribed :)

  • @kevinzhang8974
    @kevinzhang8974 6 ปีที่แล้ว +1

    simple and very practical .... you have covered top common syntax .... thank you!

  • @ubaidmansuri1725
    @ubaidmansuri1725 4 ปีที่แล้ว

    Bruh That helped me Alot. I am thankful to you as it helped at last night preparation for exams :)

  • @omerkaraca1825
    @omerkaraca1825 6 ปีที่แล้ว +1

    You are really great as usual !! I immediately liked the video.
    Fortunately, you are here. Thank you very much for eveything..

  • @notgate2624
    @notgate2624 6 ปีที่แล้ว +2

    This was great and I'm happy with you changing up the material a bit. I've been wanting to learn more about System Administration and IT. I know this stuff is basic but it's still a good intro.

  • @rayray732
    @rayray732 6 ปีที่แล้ว

    Hi Brad,
    Awesome tutorials, I know a bit of bash scripting b4, this is great.
    I'm a Nigerian. Your free videos and courses I have bought has really helped me alot in my career has a web developer.
    Please, I would like you to do a video on vanilla PHP email verification and forgot password system. Here in my country PHP developers are highly paid.
    I really love your self help videos,
    Thanks in advance.

    • @dataslid
      @dataslid 2 ปีที่แล้ว

      Highly paid 😂😂😂

  • @edwalters81
    @edwalters81 2 ปีที่แล้ว +1

    great video - thanks!

  • @fredhair
    @fredhair 5 ปีที่แล้ว +1

    Number sign? Money sign? That terminology is some next level wordery. Hash/pound (I prefer hash as pound could be confused with £) and dollar. Just a little issue and probably me being overly pedantic! Good video nevertheless :)

  • @daoviettu2334
    @daoviettu2334 2 ปีที่แล้ว

    Very practical! Every basics are all here!

  • @botmenSs
    @botmenSs 2 ปีที่แล้ว

    Love to see a good video and good explanation about this topic

  • @deadscenerecords
    @deadscenerecords 6 ปีที่แล้ว

    This provided a couple options and commands I haven't used yet. Thank you!

  • @KuldeepSingh-rw6ji
    @KuldeepSingh-rw6ji 4 ปีที่แล้ว

    Questions :
    1.Why we need $ sign to get all the file
    FILE=$(ls *.txt)
    2. While increment we didn't use $ sign
    LINE=1
    while read -r CURRENT_LINE
    ((LINE++))
    Thanks, for your tutorial

  • @noceur9102
    @noceur9102 6 ปีที่แล้ว

    brad switchin' it up. i like it. :))

  • @fayfaytu
    @fayfaytu 2 ปีที่แล้ว

    This is really a great video! It has everything for a beginner to know. Concise and useful!

  • @Me4ok
    @Me4ok 2 ปีที่แล้ว

    Hello Brad,
    Thank you very much for extremely clear explanations and clarifications ... Very very well done ;) ...
    Have a great day and Thanks once more time :) ...

    • @tibettenballs4962
      @tibettenballs4962 2 ปีที่แล้ว

      his name is mike. all of their name is mike. mike this mike that. that or frank.

  • @jasonwitt95
    @jasonwitt95 6 ปีที่แล้ว +5

    Shell Scripts! I love shell scripts. You can do all types of neat things with them.

  • @X19-x5f
    @X19-x5f 2 ปีที่แล้ว

    Great video, thanks for posting. As usual, lots of good info to get me started and point me in the direction to advance. Thanks man!

  • @GurcharanDhillon
    @GurcharanDhillon 3 ปีที่แล้ว

    Thank You Sir, the way you explain is awesome. It directly goes into mind. I learnt a lot from your tutorials.
    Much respect.

  • @heikokraemer2735
    @heikokraemer2735 3 ปีที่แล้ว +1

    On point, very compact video. Thanks a lot for this great source for a start into bash scripting!

  • @muskansalmani436
    @muskansalmani436 2 ปีที่แล้ว +1

    Thank you very much sir♥