Required UNIX shell scripting material

As I am new in UNIX , and I want to learn UNIX shell scripting.

where shall I get material for Scripting ( For basics fundamentals and production environmental scripts)

Kindly provide me ......................

2 good starting points are the Bash Guide for Beginners and the Advanced Bash-Scripting Guide. Mind tho, while the bash is POSIX compatible, it has quite some extensions that are not.

Bash is not good shell because does not support POSIX instead leran Korn shell

Wrong. The bash is as much POSIX compatible as the Korn Shell (ksh), as both are a super-set of the POSIX standard. True, the POSIX standard was derived from the Korn shell, but still both support it completely, only the extensions to it differ (and no very much at that). If you want something that has absolutely nothing to do with POSIX try the C Shell.

As a simple test: take any script that's fully POSIX compatible (without any ksh extensions) and run it with bash instead of the Korn Shell. I've yet to experience any differences.

You may also enjoy reading this: Linux Shell Scripting Tutorial - A Beginner's handbook

yep totally compatible

http://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html

:stuck_out_tongue:

Did you read it completely? (emphasis added)

"more closely" for me means it's already compatible, just not as strict.

As for the list of things that change, these are relevant for non-interactive use (aka "scripting"):

Ad 12: that shouldn't be a problem, as I think it's pretty common to check if something is there before trying to access it
Ad 13: pretty much the same. It's like checking the value of the divisor before trying to divide by zero.
Ad 16: I can't image a situation where I'd need a function that has a '%' or '/' in it...
Ad 20: If you can't keep track of which variables are read-only and which aren't...
Ad 21: see above.
Ad 28: So it works the same as command lookup, which requires you to use the (IMO) more readable ". ./filename" instead of ". filename"

And while I myself prefer the Korn shell to bash, it isn't without incompatibilities itself, as the POSIX standard shell was based on ksh88, while the current, ksh93, features quite some changes.

Thanx to all of u.

Now I will start with basic shell fundamentals and syntax.