Introduction to Advanced Bash Usage - James Pannacciulli @ OSCON 2014

  Рет қаралды 133,622

James Pannacciulli

James Pannacciulli

Күн бұрын

Пікірлер: 69
@arabiccola
@arabiccola Ай бұрын
This was very stimulating and thoroughly enjoyable. It allowed me to understand how many of the subtleties I observed and experienced over the years come together.
@gregoryshields4258
@gregoryshields4258 Жыл бұрын
I’ve seen a lot of bash tutorials. Your presentation may not be a tutorial, but it’s pedagogic gold.
@4rm4n82
@4rm4n82 3 жыл бұрын
01:56 Command Types 03:38 Getting Help 04:22 Some Useful Definitions 05:29 Return Status 06:42 Compound Commands 07:09 While and Until Loops 08:50 For and Select Loops 11:52 Tests 14:23 Conditionals: if 15:03 Pattern Matching 15:50 Conditionals: case 16:59 Command Groups 21:36 Redirection 22:11 Command and Process Substitution 23:09 Parameters 31:03 Arrays 33:50 Arithmetic Expansion 35:24 Brace Expansion 37:49 Functions 40:35 Session Portability
@OriginalRaveParty
@OriginalRaveParty 6 жыл бұрын
I've been programing with Bash for two weeks, and even I can see just how powerful these tips are. I guess that the presentation was for advanced users, so I admit that the pace is far too fast for me right now, but that's the beauty of video. I can pause and take the information in, or code with the example onscreen, then unpause. Thank you for the knowledge!
@ReneHoffmann194
@ReneHoffmann194 5 жыл бұрын
This is a nice summary for all bash users and gives a great overview over its features. Well done!
@michaelkrailo5725
@michaelkrailo5725 2 жыл бұрын
The best part of this whole video is right near the end showing the declaration of functions and parameters that can run on remote hosts. I knew about declaring functions in the current shell but this makes me want to convert some of my scripts to functions now just so I can run them on other hosts without having multiple copies of scripts all over the place. Awesome even eight years later.
@RoelVandePaar
@RoelVandePaar 2 жыл бұрын
Use "bc" (sudo apt install bc) for floating point arithmetic. Great talk.
@ninetydirectory3798
@ninetydirectory3798 10 күн бұрын
Remember to add `-l` flag.
@RC_Cola2020
@RC_Cola2020 4 жыл бұрын
So much better than those conference talks that are marketing in disguise
@jpphoton
@jpphoton 5 ай бұрын
excellent presentation. thank you.
@Jayanth943
@Jayanth943 5 жыл бұрын
Such wonderful things you have shared with us..even though video is relatively few minutes,took hours for me to gasp major content.. thanks for your effort
@ChillerDragon
@ChillerDragon 4 жыл бұрын
29:43 o.O pointers in bash thats nice and i am for sure going to use 40:36 declaring own functions on remote hosts! Thats awesome thanks for the talk
@Bestietvcute
@Bestietvcute 3 жыл бұрын
Very well presented ! Valuable information and Straight to the point
@monday6740
@monday6740 6 жыл бұрын
Such a nice presentation ! To the point & right on pace
@catlord69
@catlord69 4 жыл бұрын
This is so cool ! More advanced lecture would be awesome !!!
@wakinglife7355
@wakinglife7355 4 жыл бұрын
Thank you finally I found what I needed to understand some bash, before I was just copying stuff.
@echosystemd
@echosystemd 8 жыл бұрын
Saw it on reddit r/linux. This is really a great intro to bash.
@rebjava
@rebjava 2 жыл бұрын
Excellent video. Thank you.
@AdamDymitruk
@AdamDymitruk 8 жыл бұрын
excellent presentation
@l2ubio
@l2ubio 7 ай бұрын
16:10 what are those "recent additions" for more complex matching?
@davidh.4944
@davidh.4944 6 ай бұрын
He's probably referring to the extended globbing (extglob) patterns, and/or the ;& and &;; operators that allow multiple patterns to match the same input string.
@ninetydirectory3798
@ninetydirectory3798 10 күн бұрын
Shell we use these?
@ChrisAthanas
@ChrisAthanas 3 жыл бұрын
Very nice presentation
@9SMTM6
@9SMTM6 4 жыл бұрын
Well, maybe that is due to the 6 years that went inbetween, but these days theres quite a few situations where you won't have bash, I. E. when using a Docker container or an IOT device with a slim Linux. And even if you're on a full blown system better don't forget the shebang for bash if you use bashisms, as lots of people use I. E. zsh, including most people that use Mac OS as it's their default shell
@Mike.Freeman
@Mike.Freeman 9 ай бұрын
I knew some of this stuff but not all of it.. we always have something to learn!😁
@bhootpurvmanusya
@bhootpurvmanusya 2 жыл бұрын
is shell scripting this new that just in 2014 it had to be explained in an convention to me shellscripting or sql are simple english as long as u understand object and have the required laziness to automate . u can excel in this field.
@davidh.4944
@davidh.4944 6 ай бұрын
I'm sorry, but I kept waiting for the promised "advanced" usages, yet all I got were the same old bog-standard features I've known about for ages. Loops, tests, functions, parameter expansions? What's advanced about those? Only the very last hint with *declare* was kind of new to me. I had never thought about using it in that way before. I suppose it will help some relative newcomers, and more power to them, I guess, but the title is a bit misleading. You'll learn much more reading the Bash FAQ and Bash Pitfalls pages at Greg's Wiki.
@anunez20
@anunez20 4 жыл бұрын
excellent. Hello James, I have a question, did you make your presentation in Latex o something else. I liked the syntax highlight ..
@toplaz007
@toplaz007 9 жыл бұрын
Great stuff for beginners in one shot.
@wongright
@wongright 8 жыл бұрын
James, Really useful slides & well paced presentation! You mention "not logging into this account for some time", do you have another YT/Vimeo account where you host more material like this? It was really good.
@jamespannacciulli3029
@jamespannacciulli3029 6 жыл бұрын
Thank you! At the moment there's no other home for this stuff, I just don't spend much time logged into youtube. When/if I have more talks, www.jpnc.info/talks should be updated.
@olivierdulac
@olivierdulac 4 жыл бұрын
@@jamespannacciulli3029 James, I highly enjoyed your talk (I even learned a few neat tricks I haven't thought of). But please replace all those "echo" and "echo -e" with "printf" equivalents ^^ (let echo die... users should use printf. It will be much more consistent in its display, across shells and versions, and will be without several edge cases (printf "%s " "-anything starting with a minus", for exemple, will never barf. and lots of other related problems get avoided as well)
@shadiandrew
@shadiandrew 9 жыл бұрын
Thank you sir , great stuff.
@Timjstewart
@Timjstewart 3 жыл бұрын
Declare knocked my socks off!
@rodricbr
@rodricbr 2 жыл бұрын
perfect
@ruebemfonsca4078
@ruebemfonsca4078 8 жыл бұрын
Great vid. Thank you!
@MartinsTalbergs
@MartinsTalbergs 8 жыл бұрын
James, slides link broken :(, would appreciate
@MartinsTalbergs
@MartinsTalbergs 8 жыл бұрын
found: cdn.oreillystatic.com/en/assets/1/event/115/Introduction%20to%20Advanced%20Bash%20Usage%20Presentation.pdf
@jamespannacciulli3029
@jamespannacciulli3029 8 жыл бұрын
+Martins Talbergs Sorry about that! Slides are back online at the link above in the video info.
@nikoachtzehn4776
@nikoachtzehn4776 8 жыл бұрын
so much content! thank you
@JanPhilippHeinrich
@JanPhilippHeinrich 6 жыл бұрын
question: the loop examples: is he loading them out of a file, or where does it come from? thanks in advance
@jamespannacciulli3029
@jamespannacciulli3029 5 жыл бұрын
eventually, i released the scripts i made to pre-load my example commands as ariketa: git.jpnc.info/ariketa/about/ basically, i put all the examples ahead of time into an array in memory, using bind shortcuts to be able to quickly cycle through them as if they had been typed into the shell directly. i figure this saves time so that i can keep the pace up, while avoiding all the obligatory live demo typos. so something like "while read var1 var2; do echo $var2 $var1; done" would be loaded onto the command line when i cycled forward to that example from my array, then i would just type in the text like "one two" manually and the loop would return "two one" in that case. in case you are interested, i made a little write-up of my thinking and methodology here: www.jpnc.info/posts/en/2017/06/ariketa.yo/ hope that answers your question, sorry for the late response!
@apolopena
@apolopena 3 жыл бұрын
@@jamespannacciulli3029 Great way to teach!
@shahrukhrahmankhan7860
@shahrukhrahmankhan7860 6 жыл бұрын
Thanks SIR!
@rashie
@rashie Жыл бұрын
👍👍
@ingeborgschmidt-huser9299
@ingeborgschmidt-huser9299 8 жыл бұрын
nice, thank you
@Spaceman-si9cs
@Spaceman-si9cs 8 жыл бұрын
thanks.
@Anu-vp9um
@Anu-vp9um 3 жыл бұрын
🔥🔥
@Gpurezza
@Gpurezza 8 жыл бұрын
how to make a while loop in terminal?
@Gpurezza
@Gpurezza 8 жыл бұрын
thanks
@tedmosby9409
@tedmosby9409 7 жыл бұрын
type help its looking right at you
@projectivemotion
@projectivemotion 8 жыл бұрын
I found this video extremely useful. I am creating a cheatsheet based on the commands from this talk as practice and for future reference. You can find it on gist.github.com/projectivemotion/dc6f9b4e6241910c3d5c026a84988b7b
@martinh7544
@martinh7544 8 жыл бұрын
Gracias!
@33ro0
@33ro0 4 жыл бұрын
Holy shit
@potowogreedo
@potowogreedo 5 жыл бұрын
Great presentation. Although his delivery is just like the comedian Steven Wright, which is funny, because he isn't.
@___auburn___
@___auburn___ 4 жыл бұрын
This is why people hate Linux. On the other hand this is why nerds love Linux! :)
@Vogel42
@Vogel42 5 жыл бұрын
cd HAS a man page
@EmperorTerran
@EmperorTerran 8 жыл бұрын
It's so sad to see GNU/Linux infection splitting through community. Hearing it being pronounced GNU/Linux feels so cringeworthy. What exactly do these people see is the benefit that they are bringing to the table to the world? I can't think of anything other than some salute a recognition towards GNU and FSF? I do respect them, but I do not respect their attempt to change what most world knows as Linux to some cumbersome GNU/Linux.
@jamespannacciulli3029
@jamespannacciulli3029 8 жыл бұрын
+EmperorTerran Tell us how you really feel. But seriously, why so sad about my having used the more complete, more accurate name for the OS? Although I do tend to casually refer to the OS as "Linux", I understand that this is taking a shortcut at the expense of somewhat misrepresenting the OS. It is actually ironic that I take this shortcut, as I am primarily interested in running a GNU OS, whether it were GNU/Linux, GNU/Herd, or GNU with some other free software licensed kernel. On the other side of that coin, I expect we should continue to see more OS's made combining the Linux kernel with non-GNU core libraries and programs, in which case the distinction between GNU/Linux and Linux without GNU, such as Android, becomes much more important. If I am giving a talk, I'll at least refer to the OS officially by what I consider to be its proper name, even if I may use the name "Linux" colloquially. Of course, I recognize that referring to it in this specific manner is also an implicit advertisement for the GNU project, and I definitely approve that message.
@lotsarats
@lotsarats 7 жыл бұрын
i am happy to hear 'GNU' such that i understand where i can use syntax/info as presented here. and delighted we have so many choices of distros which has made using this term is necessary
@michaelvivirito
@michaelvivirito 5 жыл бұрын
I just use freebsd. much better :)
@dderudito
@dderudito 4 жыл бұрын
"advanced"
@ChillerDragon
@ChillerDragon 4 жыл бұрын
Yea i would also consider most of it basic but some things were still new to me :)
@bitti1975
@bitti1975 3 жыл бұрын
He had to go through the basics, but it got advanced towards the end and some stuff was new to me.
A Beginner's Introduction to BASH Shell Scripting
44:24
Joe Collins (EzeeLinux)
Рет қаралды 292 М.
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
Мясо вегана? 🧐 @Whatthefshow
01:01
История одного вокалиста
Рет қаралды 7 МЛН
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН
How to Do 90% of What Plugins Do (With Just Vim)
1:14:03
thoughtbot
Рет қаралды 914 М.
Why Can't We Make Simple Software? - Peter van Hardenberg
41:34
Handmade Cities
Рет қаралды 188 М.
Become a bash scripting pro - full course
36:00
CODE IS EVERYTHING
Рет қаралды 76 М.
7 Outside The Box Puzzles
12:16
MindYourDecisions
Рет қаралды 368 М.
BASH Environment | Aliases, Functions and Scripts
49:26
Joe Collins (EzeeLinux)
Рет қаралды 92 М.
My 5 Favorite Linux Shell Tricks for SPEEEEEED (and efficiency)
11:06
Beginner's Guide to the Bash Terminal
1:14:37
Joe Collins (EzeeLinux)
Рет қаралды 2,3 МЛН
Write Your Own Bash Scripts for Automation [Tutorial]
16:35
Null Byte
Рет қаралды 779 М.
Linux File System/Structure Explained!
15:59
DorianDotSlash
Рет қаралды 4,3 МЛН
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН