Visit Our UNIX and Linux User Community


Passing arguments to a script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Passing arguments to a script
# 1  
Old 06-14-2002
Passing arguments to a script

I've written a script (bgrep) for a more advanced grep command (& attached a cut down version below). I'm trying allow all grep options to be used, or in any combination.

The script works fine if I type say

bgrep -i -files product

it will return a non-case sensitive list of matches for product

however if I type

bgrep -in -files product

I get the same list & no line numbers.

I know why this is happening, it's because the -n option is a valid option for the echo command I am using. I not sure how to get round this. Is there some other command I could use.

I'd appreciate any advice, feel free to criticise.
Code:
#!/bin/sh
>grep_args
files=false
forms=false
text=""

while [ $# -gt 0 ]
do
        case "$1" in
                -?)     echo $1 > bgrep.tmp
                        paste -d" " bgrep.tmp grep_args > grep_args.tmp
                        mv grep_args.tmp grep_args;;

                -files) files=true;;

                -forms) forms=true;;

                -*)     echo "usage :$0 [-grepoption] [-files] [-forms] text"
                        exit 1;;

                *)      text=$@
                        break;;
        esac
        shift
done

if [ $files = true ]
then
        echo files:
        find . -name "*.f" -print|xargs grep `cat grep_args` "$text"|pg
fi

if [ $forms = true ]
then
        echo forms:
        find . -name "*.s" -print|xargs grep `cat grep_args` "$text"|pg
fi


Last edited by Perderabo; 06-14-2002 at 09:54 AM..
# 2  
Old 06-14-2002
Sorry about the indenting, it seems to have been lost in the cut & paste from my system
# 3  
Old 06-14-2002
I edited your post to include code tags. This fixed the indenting.

I think that
echo "" $1
will fix your problem.
# 4  
Old 06-14-2002
Yeah, it works now - should have thought of that really.

Thanks.

Previous Thread | Next Thread
Test Your Knowledge in Computers #950
Difficulty: Medium
The first academic work on the theory of self-replicating computer programs was done in 1949 by Alan Turing.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

C shell script passing arguments problem.

I found something insteresting when I tested passing arguments into my scripts. My scripts is as below. % cat passarg.env #!/bin/csh echo "passarg: argv = $argv argv = $argv" passarg1.env $* % cat passarg1.env #!/bin/csh echo "passarg1: argv = $argv argvp=$argv" set str = "test... (5 Replies)
Discussion started by: bestard
5 Replies

2. Shell Programming and Scripting

Passing arguments to php script

i want to be able to pass arguments to a php script if it is being piped: cat myphpscript.php | php - $1 $2 $3 blah blah This usually works for other script languages...i.e. ruby: cat myrubyscript.rb | ruby - $1 $2 $3 blah blah so my question is, how can i pass arguments to my php... (1 Reply)
Discussion started by: SkySmart
1 Replies

3. Shell Programming and Scripting

Passing arguments while running the script

Hi, I have a requirement for creating a MQ (queue) where the inputs has to be passed as arguments. Running the script as below ./hi.sh "Servername" "QueueManagername" "QueuecreationCommand" cat hi.sh echo "Welcome to $1" runmqsc $2 < $3 But the queue creation command is... (9 Replies)
Discussion started by: Anusha M
9 Replies

4. Shell Programming and Scripting

Passing arguments to a bash script

Hi, I wanted to pass an argument to a bash script. So that the argument is used inside the awk command inside the bash script. I know the noraml way of passing argument to a bash script as below : sh myScript.sh abc Inside the bash script i can use like this myArg1=$1 wc $myArg But... (8 Replies)
Discussion started by: shree11
8 Replies

5. Shell Programming and Scripting

Passing arguments to a perl script

Hi I need to pass comma seperated arguments to a perl script? It is like: Exect.pl -d GUI1,GUI2,GUI3 and I need to store these argsGUI1,GUI2,GUI3 in an array. can anyone suggest how to do that: (1 Reply)
Discussion started by: rkrish
1 Replies

6. Shell Programming and Scripting

passing arguments to external script

Hi! I have a python script that requires arguments and these arguments are file paths. This script works fine when executed like this: /my_python_script "file_path1" "file_path2" (i added quotes as some file names may have weird characters) the issue happens when i launch my python script... (14 Replies)
Discussion started by: gigagigosu
14 Replies

7. Shell Programming and Scripting

passing arguments to sql script

Hi Gurus, i have one requirement in unix script, i have a file called abc.txt in that few lines are there with the empid, i need to read each line and pass to .sql script. ex: abc.txt 2345 2346 1243 1234 i need to pass these arguments to .sql script rom unix ex: select * from... (1 Reply)
Discussion started by: Devendar
1 Replies

8. Shell Programming and Scripting

problem passing arguments to script

Hi, I am writing a script, which is invoked from other system using ssh. I have problems reading the arguments passing to the script. If the argument has a space in it (ex "rev 2.00"), the script considers "rev" as 1 argument and "2.00" as another. Instead i want "rev 2.00" to be considered... (5 Replies)
Discussion started by: cjjoy
5 Replies

9. UNIX for Advanced & Expert Users

Passing blank arguments to a script

All, I have a cron job script that receives several command line arguments. At some point if there are validation problems and the job cannot be run, it duplicates the entire command line into a temporary text file which is later executed as a script. Unfortunately when I pass the list of received... (7 Replies)
Discussion started by: rm-r
7 Replies

10. Shell Programming and Scripting

Passing arguments to a Perl script

I am playing around with Perl and wrote the script below that is executed from the command line, it will split data up in a file based on a value supplied. When executed you provide two arguments - the file that contains the data to be split and the character you want to split by. It works as... (4 Replies)
Discussion started by: jyoung
4 Replies

Featured Tech Videos