Programming in shell 2
- Garant předmětu:
- Jan Žďárek
- Lukáš Bařinka, Jan Žďárek
- Lukáš Bařinka, Jan Žďárek
- Department of Computer Systems
Students get a general overview of scripting languages, introduction into syntax, semantics, programming style, data structures, pros and cons. In addition, they gain a deeper insight into Bourne Again shell and some other particular scripting languages and will get practical experience with shell script programming.
Note to Erasmus students:
We are ready do adapt the lectures to provide even very basic Bourne shell usage. Depending on actual knowledge of the students, orientation in user filesystem tools (cp, ln, mkdir, rm...) and useful basic data filtering tools (cut, tr, sort, uniq...) can be provided. The advantage of this module is that we do not stop at this point - we will show you also a selection of advanced scripting techniques used in practice.
Student should have some user experience with shell usage as well as basic orientation in operating systems' principles and the formal description of languages.
- Syllabus of lectures:
1. Introduction: compiler/interpreter. Common UNIX shells
2. Bourne Again: Invocation, common control constructions
3. Bourne Again: Variables and redirection, getopts
4. Common UNIX utilities: RE, grep
5. Common UNIX utilities: sed
6. Common UNIX utilities: awk/nawk
7. How to write a complex shell script
8. Perl: basics.
- Syllabus of tutorials:
4. Regular expressions.
8. Assessment task consultation.
13. Assessment task presentation.
- Study Objective:
Students are likely to encounter several scripting languages in their professional career. In this course, presentation of the shell as a programming language, started in elementary UNIX module, is completed.
Students get an overview of some common scripting languages and learn some of them in detail.
- Study materials:
- Cameron Newham. Learning the bash Shell: Unix Shell Programming. Third Edition. O'Reilly, 2005. ISBN: 978-0596009656.
- Christiansen, T., Foy, B.D., Wall, L. , Orwant, J.: Programming Perl, O'Reilly 2012, 1184 pp., ISBN 978-0596004927.
- Aho, A.V., Ullman, J.D.: The Theory of Parsing, Translation, and Compiling, Prentice Hall 1972-3, 542 pp., ISBN: 978-0139145568.
- Scott, M. L.: Programming Language Pragmatics. Morgan Kaufmann, 2005. 912 pp. ISBN 978-0-12-633951-2.
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans:
- Bachelor branch Security and Information Technology, in English, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Software Engineering, in English, 2015-2020 (elective course)
- Bachelor branch Computer Science, in English, 2015-2020 (elective course)
- Bachelor specialization, Computer Engineering, 2021 (elective course)
- Bachelor specialization, Information Security, 2021 (elective course)
- Bachelor specialization, Software Engineering, 2021 (elective course)
- Bachelor specialization, Computer Science, 2021 (elective course)
- Bachelor specialization, Computer Networks and Internet, 2021 (elective course)
- Bachelor specialization Computer Systems and Virtualization, 2021 (elective course)
- Study plan for Ukrainian refugees (elective course)
- Bachelor branch Computer Science, in English, 2015-2020 original version (elective course)