Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

While going through many answers on Unix.SE, I come across many of them writing their contents w.r.t to Posix or Bash or some other standard. I know of some differences like some have arrays and some don't, and other system level differences which I am not completely aware of.

Which one of them is the most widely used? In which should we go into for advanced scripting?

What are the things that matter for a bash script-er to script in another shell or standard or the other way round?

share|improve this question

Your question is too big to answer in anything but general terms.

POSIX is a family of operating system interface standards; you generally write code / run utilities in a conformant fashion when you want your application to run across a wide variety of Unix-ish systems. As popular as the GNU binutils and bash are, they are not used universally, so sticking to POSIX-conformant functions, flags and utilities can save you some headaches when the time comes to move an app from say Linux to Mac OS.

"Advanced scripting" isn't descriptive enough to recommend a language, but if what you're doing mostly is running programs and using other program to process the results, the shell is the right tool for that. I don't think it matters much which shell you use, since the usual ones are all portable and can be built and installed along with your app. But if you're using data structures beyond one-dimensional arrays, you should be using a language that more easily manipulates such structures, e.g. Perl.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.