How To Write First UNIX Korn Shell Script Program

by on January 13, 2008 · 12 comments· LAST UPDATED July 2, 2009

in , ,

Can you tell me how to write a UNIX korn shell script program? I'm new to UNIX scripting and HP-UX UNIX operating system.

Korn shell scripting under UNIX / Linux can be used to automate lots of stuff. It easy to write a shell script. You must know how to use a text editor such as vi to write a script.

Writing your first Korn shell script

Let us write a shell program to print knowledge is power on screen. Type the following command to open file:
vi hello.ksh
The first line should be as follows:

#!/bin/ksh

It is called a shebang. It consists of a number sign and an exclamation point character (#!), followed by the full path to the interpreter such as /bin/ksh. All scripts under UNIX execute using the interpreter specified on a first line.
Next append code as follows:

# A shell script to print message
# Written by Tom - Jan/13/2008
print "Knowledge is power"

Save and close the file. At the end your script should look like as follows:

#!/bin/ksh
# A shell script to print message
# Written by Tom - Jan/13/2008
# ------------------------------
print "Knowledge is power"

Set executable permission

Type the following command to set executable permission:
chmod +x hello.ksh

Run your korn shell script

Type the following command:
./hello.ksh
Sample output:

Knowledge is power
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 12 comments… read them below or add one }

1 Scott December 8, 2008 at 9:06 pm

great job on youe xplainations. I enjoy your site

Reply

2 Suhail June 16, 2009 at 4:57 am

Its a good intro and i had successfully wrote my first script, but its better to have a vi or any other editor tutorial mix with this, i first learn the vi and then this one, and it works.

Anyways a goood one. Thanks once again.

Reply

3 suraj bhagat September 23, 2009 at 3:35 am

hi,
please give me some programs which r follows.

1)write a shell script program take two strings & check that the string are same or not

2) sript program to take marks of five subject of a students with name & display the grade in which he is passed .

3) enter a character from a user & check that itbis a lower case letter, upper case letter, digit, special char.

4)write a program to find the string is start with ovel, digita, or ends with digit, ovel & the word contains of five letters.

5)create a file student.dat which contain details of student as rool no.,name,want to be, on plattform, birthdate.

Reply

4 Bill Watson March 1, 2011 at 12:40 am

I am new to this program and I do not know where to begain. This is my directions and yes I am s student trying to learn this. and no I am not looking for you to do it for me just help me along.

Reply

5 Bill Watson March 1, 2011 at 12:41 am

Write a Unix shell script (one program) called Project1_lastname (your lastname). This script will do the following tasks:

Using “if” statement checks for a file called “student.txt” in the current directory. Removes (deletes) the file if it exist. This file will collect last name, first name, and grade for 5 students.

Use a while loop to get the information (last name, first name, and grade) for 5 students. Grades should be 0-100. Use three different variable names (fname, lname, and grade) to read the data from the keyboard.

Store the data read from the keyboard in a file called “student.txt”. After reading all the data for 5 students, display contents of student.txt file on the monitor.

Reply

6 shiva December 5, 2011 at 11:46 am

i want something more apart from this.

Reply

7 sandeep July 10, 2011 at 3:42 pm

thanks a lot

Reply

8 eavera March 3, 2012 at 8:40 am

actually i installed unix &vi editor on my pc i know to open & save the file
but i dont know to execute the shell program
for example if i typed like
raed a
echo $a
~
~
~in vi
what command should i use to execute ‘a’?
where it is executed in vi itself or in unix?

Reply

9 shilpa March 12, 2012 at 2:30 pm

Please help me to write a shell program to create a function mkcd() which would create all the directories present in the path supplied ti its argument and change over to the last directories in this path thus, $mkcd d1/d2/d3/d4/d5 sholud be create the path the five directories and change the present working directories to d5?

Reply

10 priya May 30, 2012 at 4:12 am

shell program to compute the power of “x”

Reply

11 Saurav Bhattacharyya July 22, 2012 at 6:44 am

Hi ,

I have a problem which needs to be solved by Unix shell-scripting(awk scripting is also allowed).

Input File:
===========
1,B.Sc,Calcutta
1,M.Sc,Stanford
2,M.A.,Pune
3,M.Tech,IIT Guwahati
4,B.Tech,Shibpur
4,M.Tech,Jadavpur
5,B.Lib.,Calcutta
6,B.Sc.,Bangalore

The Output File would be like this:-
==============
2,1,B.Sc,Calcutta,M.Sc,Stanford
1,2,M.A.,Pune
1,3,M.Tech,IIT Guwahati
2,4,B.Tech,Shibpur,M.Tech,Jadavpur
1,5,B.Lib.,Calcutta
1,6,B.Sc.,Bangalore

i.e. ,, in a single line for each student.
For e.g.,Student No 1 has 2 qualifications, B.Sc from Calcutta
and M.Sc from Stanford.

Please suggest a time-efficient(as this needs to be simulated for crores of records) & brilliant way of doing this.I will highly appreciate any help from you.

Waiting for your kind help…

Reply

12 Z. May 8, 2013 at 1:10 am

awk -F ‘,’ ‘{ print $1 }’ file.txt | uniq -c | while read a b; do echo “${a},${b},$(grep ^${b} test | cut -d ‘,’ -f 2- | paste -s -d ‘,’ -)”; done

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , ,

Previous Faq:

Next Faq: