The programmer who has never written a buggy program is a figment of someone's imagination. Bugs are the bane of a programmer's existence. They range from simple typing errors to bad coding to faulty logic. Some are easily fixed; others can take hours of hunting.
At one end of the spectrum are the syntax errors that prevent a script from completing or running at all. These may involve a missing character: a space, a bracket or brace, a quotation mark. It may be a mistyped command or variable name. It may be a missing keyword, such as
At the other end of the spectrum are the errors in logic. It may be counting from 1 when you should have started at 0, or it may be using ...