Open Means Open Means

#!/bin/sh
#Shell script to demonstrate Command Line Arguments

# define variables to be used
i=1
fact=1

# simple loop to use the command line arguments
# Finding the factorial of a number supplied with the
# command line argument $1
while test $1 -ge $i
do
fact=`expr $fact \* $i`
i=`expr $i + 1`
echo $fact
done

echo "The Factorial Of $1 Is: $fact"

Command line arguments can be accessed by using the notation $0, $1, $2 and so on up to $9. Where $0 refers to the command/program name itself while other arguments refer to the command line arguments.

To find count of arguments use $* or $@.

To handle more than 9 command line arguments, use shift operator. See an example below.
while [ #1 -ge 1 ];
do
echo $1
shift
done

shift will shift $2 value to $1, $3 value to $2 and so on. If you want to use all command line arguments in more than one place, store them in an array before calling shift, as the arguments which shifted will not be retrieved again.

$# gives you the positional parameters where as $* will give you all parameters as a single word.

No comments

Login to post a comment

Show
  • Create an account
  • Forgot your username?
  • Forgot your password?

Related Articles

  • Shell Script to demonstrate functions
  • Shell Script to Check File Permissions
  • Significance of Net Asset Value (NAV)
  • Net Asset Value (NAV)
  • Credit Cards - Points to remember
  • HTML Basics - Formatting Tags
  • HTML Basics - Drawing Tables
  • JavaServer Faces Unified Expression Language (EL)
  • Most Dangerous Computer Viruses of the Century
  • Recession Proof Your Career
  • About Us
  • Faqs
  • Contact Us
  • Disclaimer
  • Terms & Conditions