Visit Our UNIX and Linux User Community


several arguments together


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting several arguments together
# 1  
Old 06-28-2002
several arguments together

Hello guys,

you may help me on this :

I want to search thru many files if a sentence or a string exists and printout the lines where this is present by calling a script like :

loc "arg1 arg2 arg3 arg4"
where arg1 arg2 arg3 arg4 would be in fact the sentence separated with blanks...

In my loc script, I would have to count the number of arguments and store them as a sentence into one single variable i guess, like :
sentence=`arg1 arg2 arg3 arg4`

But, as arguments number is undefined, how can i insure this to work in any case ?

Any idea ? Smilie
Thanks,
homefp Smilie
# 2  
Old 06-28-2002
If you invoke a script like this:
loc "one two three"

The script called loc will see only one argument and it will be "one two three". This seems to be what you want, so I don't see a problem here.
# 3  
Old 06-28-2002
thanks but,

in my loc i do the following :

egrep " -ni $1"

and $1 is egual to arg1 arg2 arg3 arg4 which does not give what expected of course.
I tried egrep " -ni `$1`" and other ways but still no result.

In fact I receive the following message :

egrep: can't open arg2


Any more idea ?
Smilie
# 4  
Old 06-28-2002
Try:
egrep -ni "$1"
# 5  
Old 07-01-2002
Thanks perderabo,
of course I already tried this but here is my concern :
in fact i'm using the following command :
egrep_source argument="-ni $1" where egrep_source is an embedded egrep working in a configuration management tool...
And, as you can see, the quotes are already present and mandatory for egrep_source to work.
The only way I found to solve this is entering the command :
loc arg1 "arg2 arg3 arg4"
with the following code :
egrep_source argument="-ni $1" | egrep $2
This works of course, but I don't really like it !

If you have a better idea...
Smilie
# 6  
Old 07-01-2002
Hi homefp,

here you go.

you get to know the number of args passed to a script using $#. I think that solves your problem

Also use $@ in the grep directly and it ll take care of all. Smilie
# 7  
Old 07-02-2002
does not work or I don't know how to manage this !.....sorry ! Smilie

egrep_source argument="-ni $@" gives me an empty output...
and using $# is tricky as I don't know how many arguments will be entered....
Do you mean using $# in a for loop ? How ?

thanks

Smilie

Previous Thread | Next Thread
Test Your Knowledge in Computers #461
Difficulty: Medium
Simple Network Time Protocol (SNTP) is a less complex implementation of NTP, using the same protocol but without requiring the storage of state over extended periods of time.
True or False?

10 More Discussions You Might Find Interesting

1. Ubuntu

[: too many arguments

line 5: #!/bin/bash old=$(du -sh /home/andy/Downloads/myfile.iso) while true; do new=$(du -sh /home/andy/Downloads/myfile.iso) if ; then break fi old=$new xdotool getactivewindow key Ctrl sleep 5 done line 5: bash - Meaning of " (square brackets)... (9 Replies)
Discussion started by: drew77
9 Replies

2. Shell Programming and Scripting

Too many arguments

hi I have this code a="a b c" set -- $a if ; then echo empty fi why is it line 3 reports "test: [: too many arguments"? :wall: Thanks! (4 Replies)
Discussion started by: h0ujun
4 Replies

3. Shell Programming and Scripting

Using arguments

I have a SNMP agent that sends three arguments to the script to get a value at the end. The first is the LeafNumber, second is the request type (SET, GET, GETNEXT), and the last is a string that represents some value to be set(used only for set requests). The agent string looks like this: ... (3 Replies)
Discussion started by: jsoper1
3 Replies

4. Shell Programming and Scripting

: [: too many arguments in for -f in if

Hi Experts , I have following code if ; then mv path /filename newdirpath echo "K* files moved successfully to newdirpath \n" else echo "K* files DID NOT moved successfully to newdirpath \n" fi I am getting "echo "K* files DID NOT moved successfully to newdirpath \n"... (19 Replies)
Discussion started by: ajaypatil_am
19 Replies

5. Shell Programming and Scripting

grep with two arguments to arguments to surch for

Hello, is it possible to give grep two documents to surche for? like grep "test" /home/one.txt AND /home/two.txt ? thanks (1 Reply)
Discussion started by: Cybertron
1 Replies

6. Shell Programming and Scripting

Too many arguments

echo "the number from 1 to 10:" i=1 while do echo $i i=`expr $i+1' done above is the program i written in Linux O.S using vi editor but i am getting the error that while: line 3: i am not understanding that why i am getting this error. can any body please help me regarding this... (3 Replies)
Discussion started by: bsatishbabu
3 Replies

7. Shell Programming and Scripting

[: too many arguments

hi I am getting too many arguments error for the below line if ; then Thx in advance (1 Reply)
Discussion started by: vls1210
1 Replies

8. Shell Programming and Scripting

too many arguments?

i don't know what's wrong with the code, says too many arguments in the first two if statements. how to change it? thx. the file is like in this format: ;dfs;dfdsf;fsd ff dsf;dfdffdfd; -f2 should be only one word with no space, but could be like this 'n/a', '**ABC' while read line; do ... (1 Reply)
Discussion started by: dtdt
1 Replies

9. Shell Programming and Scripting

Too many arguments?

I can't find anything wrong with this line of code, it works when there is one file in the directory but more than one i get a "too many arguements2 error if ; then am i missing something? (3 Replies)
Discussion started by: Alendrin
3 Replies

10. Shell Programming and Scripting

[: too many arguments

Hi Guys I have this small Bash script - but it fails when I'm trying to run it. ./test.sh: && ; then # date >> /writable/sys/shutdown.log shutdown -h "now" exit fi done (4 Replies)
Discussion started by: tainted2real
4 Replies

Featured Tech Videos