10-04-2010
Looks like a fundamental understanding problem.
$1 and $2 within a function refer to the parameters supplied to that function. They are not the $1 and $2 parameters provided to the main script.
The convention for a function called "usage" is to just output a message telling the user how to correctly use the script. It is also conventional to "exit" the script if there is something wrong.
You would be best testing the number of parameters $# in the main flow of the script and calling a "usage" function if the number of parameters is incorrect. If you then do more validatation you then have available a general function to report the error.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
First of all im using Bash, on a Debian-based machine. I tried to write a function that if the ls program found listed more than 25 lines I would automaticly use "ls | less". Its on another computer but if I recall it looked something like this...
Note: some code may look strange because im on... (4 Replies)
Discussion started by: riwa
4 Replies
2. UNIX for Advanced & Expert Users
PATH="/clocal/mqbrkrs/user/mqsiadm/sanjay"
MAIL_RECIPIENTS="xyz@abc.com"
Subject="File accessed in last minutes:"
find $PATH -type f -amin -1 > temp.txt.$$
cat temp.txt.$$ | \
while read line
do
fuser -uV $line >> tempmail.txt
done
cat "$tempmail.txt" | mailx -s "$Subject"... (4 Replies)
Discussion started by: varungupta
4 Replies
3. Shell Programming and Scripting
#! /bin/bash
head -5 $1
echo "remove $1 ?"
read answer
if
then
echo invalid answer
elif
rm $1
echo "$1 is deleted"
elif
then
echo file is not deleted
else
echo "invalid answer"
fi
What i really want this to do is to ask to delete the file or not..it says something wrong... (1 Reply)
Discussion started by: nadman123
1 Replies
4. Shell Programming and Scripting
#! /bin/bash
USAGE=" | ]
if
then
echo "$USAGE"
exit 1
fi
while getopts lb: OPTION
do
case $(OPTION)in
a) echo Hi there!
exit 2;;
b) echo hello
o) OARG=$OPTARG;;
\?)echo "$USAGE" ;;
exit 2;;
esac
done
shift `expr... (1 Reply)
Discussion started by: nadman123
1 Replies
5. UNIX for Dummies Questions & Answers
if
then
if
then
echo "fst argument is $1 "
else
if
then
"fst argument is $1"
fi
fi
fi
Can anyone tell me. My requirement is tht pass a string ..
Check whether it contains "-". If yes then check if it... (1 Reply)
Discussion started by: nehagupta2008
1 Replies
6. UNIX for Dummies Questions & Answers
can anyone tell me why this code doesn't work how its supposed to, its the hangman game but it doesn't play how its supposed to
#!/bin/bash
NoAttempts="0"
livesgiven="5"
LivesRemain=$livesgiven
LettersAttempted=""
wordfile=words
numwords=0
function menu()
{
clear
cat << menu... (1 Reply)
Discussion started by: ferrycorsten73
1 Replies
7. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
ls -ld htdocs
drwxr-x--- 3 root root 8192 2006-11-19 10:41 htdocs
How would a host administrator... (1 Reply)
Discussion started by: Larry_1
1 Replies
8. Programming
its right only missed \ (0 Replies)
Discussion started by: dragonpoint
0 Replies
9. UNIX for Dummies Questions & Answers
hi whats wrong in below??
CHECK=M10;
if ;
then
echo "hello hi";
else
echo "how are u hello hi";
fi
I am getting error as
./test.sh: line 2: '
./test.sh: line 2: M10: command not found
./test.sh: line 2: M10: command not found
./test.sh: line 2: M10: command not found (8 Replies)
Discussion started by: skyineyes
8 Replies
10. Shell Programming and Scripting
All,
I have a basic buzz program written in python with return function. If i change return with print,it works fine but i want to know whats wrong with return statement.Can anyone help me whats wrong with this
#!/usr/bin/python
def div4and6(s,e):
for i in range(s,e+1):
if... (5 Replies)
Discussion started by: oky
5 Replies
LEARN ABOUT DEBIAN
test::inline::content
Test::Inline::Content(3pm) User Contributed Perl Documentation Test::Inline::Content(3pm)
NAME
Test::Inline::Content - Test::Inline 2 Content Handlers
DESCRIPTION
One problem with the initial versions of Test::Inline 2 was the method by which it generated the script contents.
"Test::Inline::Content" provides a basic API by which more sophisticated extensions can be written to control the content of the generated
scripts.
METHODS
new
A default implementation of the "new" method is provided that takes no parameters and creates a default (empty) object.
Returns a new "Test::Inline::Content" object.
process $Inline $Script
The "process" method does the work of generating the script content. It takes as argument the parent Test::Inline object, and the completed
Test::Inline::Script object for which the file is to be generated.
The default implementation returns only an empty script that dies with an appropriate error message.
Returns the content of the script as a string, or "undef" on error.
SUPPORT
See the main SUPPORT section.
AUTHOR
Adam Kennedy <adamk@cpan.org>, <http://ali.as/>
COPYRIGHT
Copyright 2004 - 2010 Adam Kennedy.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
perl v5.12.4 2010-11-22 Test::Inline::Content(3pm)