Reader small image

You're reading from  Learning Linux Shell Scripting. - Second Edition

Product typeBook
Published inMay 2018
PublisherPackt
ISBN-139781788993197
Edition2nd Edition
Right arrow
Author (1)
Ganesh Sanjiv Naik
Ganesh Sanjiv Naik
author image
Ganesh Sanjiv Naik

Ganesh Sanjiv Naik is an author, consultant, and corporate trainer for embedded Android, embedded Linux, and Internet of Things related product development. He completed his computer engineering in 1988. Since then, he has worked in this industry. He has worked on projects including micro-controller based projects to advanced Embedded Android projects. He has more than 20 years of professional experience and project accomplishment in information technology. Ganesh has a passion and deep desire for teaching. He has trained 1,000 engineers in Linux and Android product development. He has developed a lot of training material as well as curriculum for various universities and training institutes. He has an interest in spiritual study and practices such as meditation. He is a certified yoga teacher. His hobbies include yoga and martial arts. He has worked as a corporate trainer for Indian Space Research Organization, Intel, GE, Samsung, Motorola, Penang Skill Development Center (Malaysia), various companies in Singapore as well as various other corporates in India and other countries. He has started a company called Levana Technologies, which works with the Penang Skill Development Center (Malaysia) for consulting and training activities. If you would like to send feedback, suggestions, or corrections in the book, he can be contacted at https://in.linkedin.com/in/naikganesh. This book is his real-life experience…. He has worked as a consultant and corporate trainer in the following skills: • Internet of Things • Embedded Android, Android internals, and device driver development • USB and PCI device driver development in Linux • Embedded Linux and device driver development • Unix Shell scripting with sed and awk • Embedded C++ and C programming • Operating systems, software engineering, and networking • Problem solving—analysis, reasoning, and solution techniques for software engineers
Read more about Ganesh Sanjiv Naik

Right arrow

When not to use scripts

Shell scripts have certain advantages over compiler-based programs, such as C or C++ language. However, shell scripting has certain limitations as well.

The following are the advantages:

  • Scripts are easy to write
  • Scripts are quick to start and easy for debugging
  • They save time in development
  • Tasks of administration are automated
  • No additional setup or tools are required for developing or testing
    shell scripts

The following are the limitations of shell scripts:

  • Every line in shell script creates a new process in the operating system. When we execute the compiled program, such as a C program, it runs as a single process for the complete program.
  • Since every command creates a new process, shell scripts are slow compared to compiled programs.
  • Shell scripts are not suitable if heavy math operations are involved.
  • There are problems with cross-platform portability.

We cannot use shell scripts in the following situations:

  • Where extensive file operations are required
  • Where we need data structures, such as linked lists or trees
  • Where we need to generate or manipulate graphics or GUIs
  • Where we need direct access to system hardware
  • Where we need a port or socket I/O
  • Where we need to use libraries or interface with legacy code
  • Where proprietary, closed source applications are used (shell scripts put the source code right out in the open for the entire world to see)
Previous PageNext Page
You have been reading a chapter from
Learning Linux Shell Scripting. - Second Edition
Published in: May 2018Publisher: PacktISBN-13: 9781788993197
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Ganesh Sanjiv Naik

Ganesh Sanjiv Naik is an author, consultant, and corporate trainer for embedded Android, embedded Linux, and Internet of Things related product development. He completed his computer engineering in 1988. Since then, he has worked in this industry. He has worked on projects including micro-controller based projects to advanced Embedded Android projects. He has more than 20 years of professional experience and project accomplishment in information technology. Ganesh has a passion and deep desire for teaching. He has trained 1,000 engineers in Linux and Android product development. He has developed a lot of training material as well as curriculum for various universities and training institutes. He has an interest in spiritual study and practices such as meditation. He is a certified yoga teacher. His hobbies include yoga and martial arts. He has worked as a corporate trainer for Indian Space Research Organization, Intel, GE, Samsung, Motorola, Penang Skill Development Center (Malaysia), various companies in Singapore as well as various other corporates in India and other countries. He has started a company called Levana Technologies, which works with the Penang Skill Development Center (Malaysia) for consulting and training activities. If you would like to send feedback, suggestions, or corrections in the book, he can be contacted at https://in.linkedin.com/in/naikganesh. This book is his real-life experience…. He has worked as a consultant and corporate trainer in the following skills: • Internet of Things • Embedded Android, Android internals, and device driver development • USB and PCI device driver development in Linux • Embedded Linux and device driver development • Unix Shell scripting with sed and awk • Embedded C++ and C programming • Operating systems, software engineering, and networking • Problem solving—analysis, reasoning, and solution techniques for software engineers
Read more about Ganesh Sanjiv Naik