Why Learn the Bash Shell? My story why and how i learned the shell, and if you should too

Поделиться
HTML-код
  • Опубликовано: 4 янв 2025

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

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

    Asking a former Linux sysadmin why he learned Bash is something like asking professional basketball player why he learned how to jump.

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

      then what skill is equivalent to running?

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

      @@comoyun Probably general knowledge of Linux.

    • @ThomasKellner-d1k
      @ThomasKellner-d1k 3 месяца назад +1

      @@comoyun knowing how to type

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

      ha, this is real

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

    RUclips needs a bash master, so please stay and continue

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

    Getting over the "embarrassment" of admitting you don't understanding something is extremely important. I felt this early in my career, and it was hard to overcome. But once I did, my professional growth skyrocketed.
    I tell my kids, my students, and anyone I mentor, "The first step towards knowledge is admitting ignorance."
    Great content. Keep it coming!

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

    Learned C in the 80's at college and C++ (and more) at work in the 90s, but for some reason bash has been my best programming friend over the years. Bash also introduced me to awk, to whom I am eternally grateful.

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

    I like this format over all others because it is easy to pause/rewind , put you on a playlist, watch later, etc.

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

      ty! yeah, i'm definitely gonna keep on going with this format

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

    I started using Nushell for fun and pretty colors, and accidentally discovered how useful it is to know one's shell well. Because of your videos, I want to give Bash a new try, both because of the ubiquity of Bash, and because I can leverage the knowledge I've gained from daily-driving Nushell. (i.e. if I know I can do something in Nushell, I can wonder how it's done in Bash)

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

    Great video! Very well spoken and coherent, as always. Amazing to learn a little bit of your story and how and why you gained such expertise in bash. Good stuff!

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

      i appreciate it! i enjoy this format of video and hope to make more in the future

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

    The same advice goes for any industry, job or hobby: Learn about the tools you use. Be it literal hand tools, software, hardware, equations, even physical space. Not only will it make you better at the thing you are doing, but it might save you a lot of headache, time and possibly money.

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

    I recall my first experience with 16-bit Windows. I cowered at exiting into DOS. Eventually I got a book on DOS, and that led to both learning about system configuration, and programming.
    It's worth the time to learn the shell, and spend time in a CLI. I don't know anyone who has regretted the effort.

  • @just4fun277
    @just4fun277 29 дней назад

    Thank you for sharing you're knowledge.

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

    I'm watching this on my TV after finding you on Instagram. RUclips is definitely a mountain. Overt and honest enthusiasm on a topic are the building blocks of a channel!
    I'm excited to see what your PhD in Bash contains. 🤓

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

      yo thank you! i appreciate it - and yeah i definitely have more content coming 😎

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

    One of the reasons I haven't migrated to a different shell for my own use is because I want to feel comfortable using bash as it's the common shell for every server I admin by default.
    I could install my own shell but that's another vector for bugs if nothing else.

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

    Please, continue to yap as much as you can. We all have so much to learn (and i thought i was an expert!)

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

    Great learning curve. Been doing the same basically. However I started professionally with HP-UX. Personally I started with Slackware when it came out for the first time

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

    Just started learning bash. Here we go.

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

    The reason I got good at bash is because people said "you can't do that in bash" "bash is to slow to do that", then I needed to check

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

    Great video Dave, and thanks for the wiki link.

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

    Great content. Keep 'em coming.

  • @MeKaliLin-wq8zy
    @MeKaliLin-wq8zy 3 месяца назад

    Great video. Keep the shell videos coming.

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

    grazie, continua e non ti fermare ! Ottimi contenuti .

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

    excellent explanation of why. Your videos inspire me a lot, and help me level up, net result I am using bash for many more things, and more complex stuff with good results. Thanks for sharing

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

    So interesting to me that there are folks who love sysadmin / sys eng work, just because I absolutely loathe it and have to be careful in interviews to suss out if that is an expectation, so I can politely decline. Thank you for your service (lol).
    The thing about shell scripting that bugs me generally is like you mentioned - there are a ton of options and these days you're expected to be pretty deeply familiar with 3-4 of them. This may sound like heresy but Powershell's cross platform approach has been looking like the answer to me, though I would enjoy hearing why I am wrong about that because I feel like I don't know enough about everything to confidently make that assertion.

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

      ha, i seem to encounter more people that hate sysadm rather than people who like it - but in my experience it's usually a combination of the 2 things:
      1. ignorance around sysadmin work.
      2. frustration due to the ignorance.
      people typically don't stumble happily into sysadm work - they *end up* there when things are going wrong, so they are already mentally primed against it. I completely understand that position, but hopefully my channel serves to show people it can be fun and rewarding when you spend time with it.

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

      @@yousuckatprogramming I suspect you are absolutely right. I know I feel like if I am having to mess around at that level things have gone wrong already! And I know a chunk of that is my lack of confidence with it.

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

    This format's better for youtube than your other shit, keep it up

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

    This was absolutely me going into offensive security, asking others and people I saw as pro's basic questions that I knew nothing about and them giving me different things of like "do you mean this, this this and this??" and Id just go "NO BUT WHAT ARE THOSE 0_0

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

    Bash is a dangerous weapon. I've met some bash wizards who write entire programs in bash that consist of many interconnected scripts instead of just using a proper programming language.

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

    Hey Dave,
    A bit of a green programmer here.
    Was wondering if you could do a video more so on the topic of why Bash is useful, and what maybe web developers or other programmers would find using bash shell scripts useful for. I think it would give a more clear answer and inspiration as to why I should really learn bash haha.

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

    I love these slower-paced (comparatively) videos. I can really feel our parasocial relationship growing. :D

  • @DavidLee-jd5ot
    @DavidLee-jd5ot 3 месяца назад +3

    Didnt knew YSAC had tech genius cousin.

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

    Bash is a turner-complete language anyway. Everyone has a opinion but the shell is the closest interface between a system unless gui which easier but a lot restricted and limit base on how it’s was developed

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

    I like both (all 3?) formats.

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

    Also, not everybody needs to pick up the entirety of bash at once. I did it over a decade by just scripting away repetitive tasks and replacing bloatware piece by piece. The CLI is amazingly powerful not just for sysadmins but for every developer regardless of language.

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

    Dave Eddy is who I want to be when I grow up

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

    I love Bash scripting. But I don't claim to be an expert. I'm learning quite a bit from you. :)

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

    yes, more of this content please
    but never stop the old format either

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

    If you have something worth talking about. Then don't let the fear of the algorithm hold you back.

  • @zerefdragneel2289
    @zerefdragneel2289 3 дня назад

    Genuine question. If the thing you want to write can work with or without associative arrays (referring to the piece about version number checking), what is the usefulness of checking if associative arrays are usable, if you'll have to write both versions of the logic anyways? (Unless the point of checking is to throw a readable error)

    • @yousuckatprogramming
      @yousuckatprogramming  3 дня назад

      personally I think it's the latter - something as simple as:
      ```
      declare -A my_array || { echo uh oh; exit 1; }
      ```
      just to give the user a useable and readable error message as to why we can't continue.

  • @andres.igmendez
    @andres.igmendez 3 месяца назад +1

    Been coding in Python and C++ for a few years now but Im learning bash by setting up my own ubuntu server at home and writting a few scripts to do some basic stuff. But Im having issues retaining the syntax of bash because i am not using it regularly. Do you have any advise on that? maybe some sort of project or ideas in the area of a sysadm that would force me to use bash more regularly?

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

    Ah yesss, Dave from TikTok, hmmm, yes, yes, very distinguish, yes, yes... :D

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

    I wouldn't advise writing Bash professionally, i once wrote a whole deployment system in Perl because I was working with centos 5 with no internet to download packages python 2 was installed and broken, so had to use Perl. When I left the company they stopped using it because they couldn't maintain it and went back to uploading manually via sftp. Thinking about future maintainers when you leave the company.

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

      That is true but most do this with any technology from opensource to proprietary software. The it’s happens with other tooling. The issue is mostly
      With management than the tool. Any tool can be learn. It’s worst when the tool is not opensource or common and become extremely hard. At least with Perl it’s opensource and their is huge of resources

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

    Wow, and here's asking myself for the last few months as a normal Linux sysadmin. I need a language that will let me become an expert with Linux Systems, but I want to learn Rust and a little bit of Python, Rust for Embedded Design. Then I listen to this video and notice. Jezz, I know a little bash but to be fair, I know fuck all... Thanks for setting me straight on my path. Bash comes first.

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

      the shell comes first! i agree. learn what you want - but the shell is your window into the system imo

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

    Thanks for sharing your Bash history 😆and the practical intelligence that directed your commitment to the language. Since I suck at programming, I love your channel and the short and concise demonstrations -- I learn a little something new with every video. I hope you continue to structure your uToob offerings in their current format, but occasional forays into programmer philosophy are helpful and welcome too. Would love to support your efforts on Patreon ...😜but you just admitted that you suck at channel management. 😜

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

    Hey dude I love your content, thank you for sharing so much knowledge with us. Yesterday I had this same feeling you described here "This is unacceptable, there should be a way to do this". The problem I was trying to solve was, I had program A and program B. Both read from stdin and wrote to stdout, and I wanted to somehow connect A to B and B to A, as in a feedback loop. So given some initial condition, they would start talking to each other forever / until an exit condition. But I just couldn't do it. I tried named pipes, I tried coprocs, I tried writing to regular files and using `tail -f`. I don't know why nothing worked, but I suspect some kind of buffering is the culprit. Could you talk about this in a future video?

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

      I don't quite understand what your goal here: 2 programs that can talk bidirectionally to each other? i'd create 2 named pipes A and B:
      Program 1: writes to A, reads from B
      Program 2: writes to B, reads from A

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

      @@yousuckatprogramming Yes, that's the idea. Both are text interfaces to OpenAI, and I wanted to make two OpenAI instances talk to each other... however, trying this pipe approach you suggested gave me a deadlock :/

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

    I’m fairly against BASH because of all the people who knew bash but didn’t know basic shell scripting. All the times I dealt with “well on my system” because someone didn’t know UNIX or POSIX Shell…
    My recommendation is usually to learn Shell first then learn ZSH or KSH or BASH

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

    What do you think about Tools Like make and Task Files ?

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

      totally cool - check out how i make my website github.com/bahamas10/ysap/blob/main/website/Makefile

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

    Before your channel appeared, I wanted to do a series of drunken video responses to the multitude of terrible, just terrible videos out there explaining some basic stuff, but just doing it wrong, because they sucked. Your channel was (and is) a very fresh breath of air, so I decided to forego the aforementioned video series.
    Having said all of that I'd love to collaborate with you somehow on bringing some of the awesomeness that can be TLDP's ABS guide and then some, like dereferencing associative arrays in a loop etc.

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

    how about zsh? are you already dive deep into it? I am a novice learning both bash and zsh at the moment, more into zsh since I use macos to learn.

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

      i haven't dived deep into it - but i will for a video because so many people have asked

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

    Finally, the correct common sense answer.

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

      i bring nuance to the internet - something the world wide web isn't ready for haha

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

    Yea, I like the yap session. I hate the term, but it kind of helps with the parasocial aspect. Then there's the thing that the almighty algorithm will prefer the long(er) format videos compared to 3 minute bursts.

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

    Why not create longer version of videos?

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

      it's tough for me - my brain works in short-quick videos. *this* video was meant to be long... and long for me is like 6 minutes lol

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

      ​@@yousuckatprogramming I want to recommend this channel to my students. But before I can do that you need to pay attention to grooming. At least put on decent tshirt or something. It's important I you want to monetized this channel.

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

    i want to learn bash

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

    yeah more yapping content totally into it

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

    bash is the easiest to learn threading and multiprocessing programming language

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

    More "yapping" content, yes please 🙏👍

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

    I would love to see you break down man and interpret pages, I really try to use documentation, but sometimes my eyes cross and I want the sweet embrace of death.

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

      2nd. learning to read man pages is actually a thing, and once you've got it you don't remember how long you spent finding it hard.

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

      Between "man" and trying -h, --help, and -? you should get some feel for the right way to invoke a command

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

    well, to be honest, a mistake in c is more experience, it's called shell for a reason 😉

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

    Has nightmares about sed

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

    Secod comment

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

    Longer vids dude and slap in some adverts so you earn from it!

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

      Go for it. I'll block them anyway

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

      @@justawfulgamer7738 Thats Brave! or is your browser Brave? lol

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

    Because shit happens? I cannot see any other compelling reason… except sadomasochism, of course.

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

    why did i learn dos at 12? because windows sucked ass then, 3.1 on a floppy bruh no ty, bash is simpler and easier to learn and use than anything microcock ever came up with, you dont need the cli at all if you get right distro, unless you want something it dont has lmao, learn the commands they are simple asf

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

    But is this the only source of learning ? seriously !!!! how to learn it more effectively ? Every bash nerd i saw says the same things as u did but none gives the real source of learning !!!!

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

      i'm not sure exactly what you mean, but check the description for the BashGuide, and i soon want to make a "Beginners Bash 101" Course / video.

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

      Bash man and wiki

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

    my nigga... you are awesome

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

    Please do stay... Love ur IG posts... But being that you're the first person to ever tickle my analytical 🧠's fancy... And nope, I don't code... (I really want to, but fearful of ~failing...?)... But I swear, nothing has ever swooshed past me... When you talk about things.
    Ever wish u could just present urself as blank slate n have urself molded into something...? I mean, brainwashing works right? What if I just offered myself to be taught coding, to someone who has the logic to unbiasely analyze if it's even possible etc... 😩.. Nvm let's move on before I ramble on... Anyway please keep YT going... Just like I stumbled upon ur IG, you'll get there just as well naturally... 🫡