Consultancy and Total Solutions Training Provider for Embedded Systems, Electronics and Electrical Engineering, Programming, Computing, Operations, ISO9000, ISO14000 and Management.

Bridging the Gap

Training Courses

Linux Shell Programming and Makefiles

Course id: 0042


Automation greatly helps in improving overall productivity and quality during product development. There are various ways to perform automation but the most popular use in an engineering environment is shell scripts and Makefiles.

While often used in software development, these capabilities can also be extended to other domains.

Course highlight
Participants will have practical experiences writing, verifying and debugging shell scripts and Makefiles.

What you will learn

This course concentrates on the theoretical and practical knowledge to allow participants to achieve the following learning outcomes. Upon completing the course, participants would be able to:
  • Access variables and system parameters from shell scripts
  • Use operators and control structures in shell scripts
  • Execute commands within shell scripts
  • Write shell scripts for automating tasks
  • Write makefiles to automate source file compilation

Who should attend

This course is particularly suited for design engineers, hardware engineers, systems engineers, application engineers, software engineers and programmers who wish to learn how to use GNU Make to automate manual tasks.


Participants must have some programming knowledge and basic command-line experience in using Linux/Unix.

Course methodology

This course is presented in a workshop style with example-led lectures interlaced with hands-on practical for maximum understanding.

Course duration

2 days.

Course structure

  • Introduction to Bourne Again Shell (bash)
    • Why shell programming
    • Why bash
  • Basic Data Handling
    • Variables and Parameters
    • Arrays
    • Operations
  • Control Structures
    • Loops and branches
    • Command substitution
    • Functions
    • Arithmetic expansion
  • Commands
    • Internal commands
    • External commands
  • Additional Bash
    • Here document
    • Regular expressions
    • I/O redirection
    • Process substitution
  • Introduction to Makefiles
    • Why use Makefiles
    • Makefiles and Shell scripts
  • Makefile Basics
    • Writing a simple Makefile
    • Rules
    • Variables and Macros
    • Functions
    • Commands
  • Advance Makefiles
    • Managing projects with Makefiles
    • Portability
    • Improving Makefile performance
    • Debugging Makefiles
  • Discussion & Conclusion

Course Schedule





News on ProvenPac

  ProvenPac Sdn. Bhd.
  C-4-3 Gembira Park,
  Jalan Riang, 58200
  Kuala Lumpur, Malaysia

  Tel: +603 03 5889 5889

No public course
currently scheduled.


Please inform me when
this course is scheduled.


Please contact me to
arrange in-house training.