Unix Scripting

Hi Gurus,
I am a system admin in solaris field and ive planned to study unix scripting.ive planned to start reading Mastering Unix scripting by randal.Scripts in that are based on Korn shell(ksh).my question is whether the same scripts can be applied to other shells like bash etc..And also it will be very helpfull if someone can say whether to learn Unix scripting or a language like PERL.Thanks in Advance..:slight_smile:

Hi Madanmeer,

If you want to learn a scripting language that will work in most other shells, learn bourne (/sbin/sh). Bash and Korn (and many others) completely support all Bourne syntax. Bash and Korn add some addition functionality which is very handy but that means that some functions in them won't work with each other or Bourne.

If you intend to work entirely on Solaris, it's relatively safe to work in ksh but I always prefer to use Bourne if at all possible :slight_smile:

I would also applaud your idea to look into Perl, it's a very useful language, but would suggest that you instead look into Python. I learned Perl and never got round to learning Python but I'm told by people who's opinion I value highly that it's superior to Perl.

In addition, try to get a basic understanding of sed and awk to assist your shell scripting. Awk in particular is very powerful and can do a great deal on it's own, but even if you only learn how to search and print with it, it'll help you greatly.

Whatever you decide, good luck in your endevour and feel free to drop by and ask us if you get stuck on anything :slight_smile:

Hi Smiling Dragon,

Thank u for ur response.Actually as of now to be frank im very confused to wat to opt n study.Ive heard people say that scripting is important for sys admins.im a fresher n workin now with an expierience of just 6 months in solaris.i need to kno the rite path in this field.so once i start learning any scripting i must try to complete it properly.For sure im gona stay in unix field so do advise me bout how to aproach..Thanks in Advance.

On any POSIX compliant unix such as HP-UX "sh" will start the POSIX shell (not the old Bourne shell as it used to). Unless you will be working on old systems there is little use for Bourne shell nowadays though it is good background knowledge to know when you are using a shell extension relative to Bourne shell.
Personally I find Korn shell "ksh" to be the most portable in unix and "bash" the most portable in Linux. The least useful is C shell "csh".

I used to think that learning Bourne shell (sh) is the most portable and safest in scripting writing. That may be true in the past. Nowadays, I hardly see UNIX system without ksh or even bash shell. In some situations, you will find Bourne shell is pretty inefficient because one has to rely on external commands to achieve certain actions. Spawning process is considered very experience. Imagine you need to spawn processes in a few thousand times. ksh and bash have special syntax to help to achieve common tasks without spawning.

As for Perl or Python ? It is really up to one's taste. IMO, it is not about the language, it is all about how clear you can use the language to do the work. If a language can last that long, it definitely has some value.

Both Perl and Python have a lot of libraries and utilities available on the web, no need to reinvent the wheel. However, if you always depend on this, you will not be able to invent your own wheel.

Shell scripting intro is a good intro, IMO