Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I recently started learning Linux(Ubuntu), and i'm aware that Linux has it's own form of language i.e Shell Scripting. What i'll like to know is that is this language enough to administer a Linux Server? I can also code in PHP/MySQL and i'll also like to do some standalone app for Linux based PC (not with PHP/MySQL), will Shell Scripting be enough for me to achieve these.?

Thank you for your time, patience and answer. I most appreciate it.

share|improve this question
    
Your needs are better suited with GUIs that already exist, or a remote management system for the server (i.e. remote desktop). for MySQL, there's MySQL Workbench that can probably help you out, but you'll need to set up a mySQL server for it to use. For remote desktop, i can't help you much there –  Thomas W. Jun 7 '12 at 15:14
add comment

3 Answers 3

up vote 2 down vote accepted

Yes and No. Shell scripting will help you administrate a server and automate tasks.

You will not be able to build Applications with shell scripting. Something like python would be better for building software apps in Linux. Or possibly C++ and Qt framework. Shell scripting is used to automate services and tasks at low level on server. Not build apps.

share|improve this answer
    
+1. Just to add some more to this; you can do a lot with sh, even more with bash, but you should not consider it a general purpose language. If your script is getting longer than 100 lines, you've chosen the wrong language for the job. See mywiki.wooledge.org/BashGuide/Practices#Choose_Your_Shell –  geirha Jun 7 '12 at 15:16
add comment

Here are the books that I have found most useful on the topic:

Linux shell scripting with bash. It's a great guide.

Learning BASH shell from O'Reilly. I generally like almost all O'Reilly books.

As noted by previous answers, you can certainly administer a server using solely bash scripting. Python with gtk/qt extensions is more app-targeted.

It is my personal opinion that HTML5 applications based on Ext4JS or SenchaTouch are the ultimate future of desktop applications.

SenchaTouch Apps can already be packaged for multiple touch devices. There is a product in closed beta to package for desktop from the same vendor(reference).

share|improve this answer
add comment

Depending on the standalone application you are making, it may be.

Some applications to do a series of tasks based on currently-installed technologies can be done in Bash or Shell scripts, others need slightly more complex scripts.

But actual applications with GUIs that do tasks that current applications do not would need more in depth coding, whether its Python, Perl, Ruby, C, C++, etc.

share|improve this answer
    
Thanks for your response. What of Linux Server Administration, do I need C, C++, Java, Python for them too? –  dotman14 Jun 7 '12 at 14:47
    
Those're separate questions. I'd recommend on both questions you elaborate on what your use-case is so i can better narrow down what you're looking for. –  Thomas W. Jun 7 '12 at 15:02
    
Thank you for your response. I'm actually interested in Server and Database administration on Linux Platform. –  dotman14 Jun 7 '12 at 15:09
    
Server admin - shell scripting is fine. Building applications - Shell scripting isn't the things to go for. The above languages suggested are what I would advise. –  LinuxBill Jun 7 '12 at 15:32
add comment

Your Answer

 
discard

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.