Programming in shell 2

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BI-PS2 Z,ZK 4 2P+2C Czech
Lukáš Bařinka, Jan Žďárek (guarantor)
Lukáš Bařinka, Jan Žďárek (guarantor)
Department of Computer Systems

Students gain a general overview of available scripting languages, their syntax, semantics, programming style, pros and cons. In addition, they gain a deeper insight into shell and some other particular scripting languages and will get practical experience with shell script programming.


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.

9. Perl.

10. Perl.

11. Perl.

12. Perl.

13. Perl.

Syllabus of tutorials:

1. Introduction.

2. Shell.

3. Shell.

4. Shell.

5. grep.

6. sed.

7. awk.

8. Assessment task consultation.

9. Perl.

10. Perl.

11. Perl.

12. Perl.

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:

- http://www.gnu.org/doc/doc.html

- Cameron Newham. Learning the bash Shell: Unix Shell Programming. Third Edition. O'Reilly, 2005. ISBN: 978-0596009656.

- http://perldoc.perl.org/

- 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:
Time-table for winter semester 2020/2021:
Time-table is not available yet
Time-table for summer semester 2020/2021:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2020-11-29
For updated information see http://bilakniha.cvut.cz/en/predmet4672506.html