getopts tutorial in Shell Script

By: Vivek G Emailed: 1700 times Printed: 2205 times    

Latest comments
By: rohit kumar - how this program is work
By: Kirti - Hi..thx for the hadoop in
By: Spijker - I have altered the code a
By: ali mohammed - why we use the java in ne
By: ali mohammed - why we use the java in ne
By: mizhelle - when I exported the data
By: raul - no output as well, i'm ge
By: Rajesh - thanx very much...
By: Suindu De - Suppose we are executing

This shell script shows how to use getopts in shell script to get command line options in your own shell scripts. In this example, the following options are programmed.
-c clear the screen
-d show list of files in current working directory
-m start mc (midnight commander shell) , if installed
-e { editor } start this { editor } if installed
    #
# Function to clear the screen
#
cls()
{
    clear
    echo "Clear screen, press a key . . ."
    read
    return
}

#
# Function to show files in current directory 
#
show_ls()
{   
    ls
    echo "list files, press a key . . ."
    read
    return
}

#
# Function to start mc
#
start_mc()
{
    if which mc > /dev/null ; then
	mc
	echo "Midnight commander, Press a key . . ."
	read
    else
	echo "Error: Midnight commander not installed, Press a key . . ."
	read
    fi		
    return
}

#
# Function to start editor 
#
start_ed()
{
    ced=$1
    if which $ced > /dev/null ; then
	$ced
	echo "$ced, Press a key . . ."
	read
    else
	echo "Error: $ced is not installed or no such editor exist, Press a key . . ."
	read
    fi		
    return
}

#
# Function to print help
#
print_help_uu()
{
	   echo "Usage: $0 -c -d -m -v {editor name}"; 
	   echo "Where -c clear the screen";
	   echo "      -d show dir";
	   echo "      -m start midnight commander shell";
	   echo "      -e {editor}, start {editor} of your choice";
	   return
}

#
# Main procedure start here
#
# Check for sufficent args
#

if [ $# -eq 0 ] ; then
    print_help_uu
    exit 1
fi    

#
# Now parse command line arguments
#
while getopts cdme: opt
do
    case "$opt" in
	c) cls;;
	d) show_ls;;
	m) start_mc;;
	e) thised="$OPTARG"; start_ed $thised ;;
	\?) print_help_uu; exit 1;; 
    esac
done        	   

Linux Home | All Linux Tutorials | Latest Linux Tutorials

Sponsored Links

If this tutorial doesn't answer your question, or you have a specific question, just ask an expert here. Post your question to get a direct answer.



Bookmark and Share

Comments(0)


Be the first one to add a comment

Your name (required):


Your email(required, will not be shown to the public):


Your sites URL (optional):


Your comments:



More Tutorials by Vivek G
Getting System Information in Shell Script
Menu based programs in Shell Script
Digital Clock in Shell Script
Formating text in Shell Script
Check if file exists in Shell Script
Finding factorial in Shell Script
Decimal to hexadecimal converter in Shell Script
Calculator tutorial in Shell Script
getopts tutorial in Shell Script
Find the biggest number in Shell Script
Command line arguments to calculate average in Shell Script
Command line arguments in Shell Script
Sort numbers using arrays in Shell Script
Check for leap year in Shell Script
Using System Time in Shell Script

More Tutorials in Linux
smskannel SMS gateway run in background
Running jar files in background in ssh window
Could not open '': No such file or directory at lib/ExtUtils/MM_Unix.pm line 2697
Can't locate ExtUtils/MakeMaker.pm in @INC ...
bash: make: command not found
apxs: command not found
bash: svn: command not found
make: Nothing to be done for `all'.
How to burn your CD / DVD ISO image using Media Creator (Adaptec/Roxio) on Windows
How to burn your CD / DVD ISO image using Nero Burning ROM (Ahead Software) on Windows
How to burn your CD / DVD ISO image using Nero Express (Ahead Software) on Windows
How to burn your CD / DVD ISO image using NISO Recorder V2 Power Toy on Windows
How to burn your CD / DVD ISO image using k3b on CentOS
Compiling and Installing software from source in Linux
Installing RPM's using the Redhat Package Manager in Linux

More Latest News
Most Viewed Articles (in Linux )
How to print or access value of user defined variables in Linux Shell Script
Pipes in Linux
for loop in Linux Shell Script
case..esac..in Linux Shell Script
sum of all digits in a given number using Shell Script
getopts tutorial in Shell Script
Getting System Information in Shell Script
bash: svn: command not found
Mounting cdrom in cent os 5 linux
How to use Linux?
What is a Shell Script in linux?
How to write your first Shell Script in linux?
Variables in Linux Shell Script
How to define User defined variables in Linux Shell Script
Rules for Naming variable names in Linux Shell Script
Most Emailed Articles (in Linux)
Mounting cdrom in cent os 5 linux
echo Command in Linux Shell Script
test command or [ expr ] in Linux Shell Script
Multilevel if-then-else in Linux Shell Script
Check if file exists in Shell Script
bash: make: command not found
How to use Linux?
What is a Shell Script in linux?
How to write your first Shell Script in linux?
Variables in Linux Shell Script
How to define User defined variables in Linux Shell Script
Rules for Naming variable names in Linux Shell Script
How to print or access value of user defined variables in Linux Shell Script
Arithmetic in Linux Shell Script
Quotes in Linux Shell Script