I've had finished learning "Shell Script" in Linux so I'm now intermediate near advanced level but I can't guess how can I use this scripting language to make things/tiny programs!

Just as having the weapon without usage knowledge!

  • Write scripts to make your life easier and more productive. Need something quick? Write a script. Have to do a repetitive task? Write a script. Need to do the laundry, take out the trash, and feed the dog? Write a script for it. ;)
    – iglvzx
    Jan 27, 2012 at 4:00

4 Answers 4


You really need to qualify which shell you are talking about.

If you're interested in bash, I cannot recommend this bash FAQ any higher

  • It's "Bourne Shell" :)
    – wisdom
    Jan 27, 2012 at 3:56

Advanced Bash-Scripting Guide - http://tldp.org/LDP/abs/html/. Book in "MUST READ" category.

  • 1
    The faster you forget about The Advanced Bash-Scripting Guide the better off you'll be. As the bash FAQ I linked to above puts it "The infamous "Advanced" Bash Scripting Guide should be avoided unless you know how to filter out the junk. It will teach you to write bugs, not scripts. In that light, the BashGuide was written: mywiki.wooledge.org/BashGuide"
    – SiegeX
    Jan 27, 2012 at 5:35

One thing you can do is investigate the built-in scripts that came with the distribution. Trawl about in /etc and check out the startup and shutdown scripts.

You can certainly do a lot with bash or the c shell, particularly when combined with sed, awk, tr, tee, wc, and on and on... However I found it more rewarding to spend quite a bit of time learning regular expressions and Perl; I just felt more productive. Python or Ruby would be equally excellent choices in my opinion.

  • It's ten years on, and while there's nothing wrong with Perl or Ruby, they seem more special-purpose today. I would now recommend Python for an interpreted non-typed scripting language along with regex. In addition, I think learning a typed and compiled language like Go can be really useful when you need more performance and don't want to worry about run-time dependencies.
    – JGurtz
    Mar 9 at 5:45

You should learn C.

Then learn some Perl (just the basics, you will thank me for it). Mastering Perl is a toolbox full of very sharp tools.

After that, Java! Java is great at many things. You will also pick up some OO concepts and design pattern by doing this. You could learn C# or C++ instead of Java but thats a whole other discussion I prefer not to touch (Java is great for solving my problems, the community and the tools are great). Skip php and everything what web programming is, that is my take on it.

And then, learn databases. SQL syntax and and pick a database to learn. I would go for PostgreSQL, (optional: Microsoft SQL Server).

To broaden your mind you should learn functional programming. I am doing this right now (Scala & OCaml).

Then learn Fedora and become a contributor to the Fedora project.

Then get a proper programming job and live happily ever after! That's what I would do. :)

  • I thank you alot :)....As I'm an IT student -second year- then I try to improve my programming skills by learning more and more languages :p and as my plan I will learn Perl ASAP ;)...so further I plan to contribute in Linux_OS but know nothing how to start :(
    – wisdom
    Jan 27, 2012 at 18:36
  • 1
    OK. Perl has quite a lot of documentation, which you probably know. This could be a good place to start. I like your blog! Fancy stuff, looks great. bioperl.org/wiki/Getting_Started#For_Perl_newbies
    – r4.
    Jan 27, 2012 at 21:50

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