#+title: lesson 02 | course overview + the shell #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: * Links #+attr_html: :class links - [[../toc.org][TOC | Missing Semester]] - [[https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J][Playlist: Missing Semester]] *** timestamps :PROPERTIES: :CUSTOM_ID: timestamp :END: #+attr_html: :class playlist 1. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=54s][control flow functions]] 2. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=227s][sequential execution]] 3. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=425s][standard input]] 4. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=444s][error code]] 5. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=517s][logical operators]] 6. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=603s][concatenate commands]] 7. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=645s][common substitution]] 8. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=675s][process substitution]] 9. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=935s][comparison operator]] 10. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=1173s][curly braces]] 11. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=1359s][python script]] 12. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=1707s][man command]] 13. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=2175s][finding files]] 14. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=2190s][grep]] 15. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=2573s][fuzzy finder]] 16. [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=2649s][history substring search]] * Notes ** bash *** spaces are critical with bash - this works: #+begin_src bash foo=bar echo $foo #+end_src - this doesn't: #+begin_src bash foo = bar echo $foo #+end_src the output of that will be =zsh: command not found: foo= - what happens in the above example is that we are effectively calling the "foo" program with the arguments: "=" and "bar" *** quotes - you can use double or single quotes to print a value #+begin_src bash echo "Hello" #+end_src #+begin_src bash echo 'Hello' #+end_src - double quotes can interpolate variables #+begin_src bash echo "Value is $foo" #+end_src will return: =Value is bar= - single quotes can NOT interpoloate variables #+begin_src bash echo 'Value is $foo' #+end_src will return: =Value is $foo=