if #argv = (this OR that) then...


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting if #argv = (this OR that) then...
# 1  
Old 03-27-2008
if #argv = (this OR that) then...

this is in one of my scripts...

if ($#argv == 0) then
echo 'blah bla'
exit 0
endif

I want it to be something like this...

if ($#argv == 0 OR $argv >=3)
echo 'blah bla'
exit 0
endif

so when the arguments are none, or greater than three I want this "if then" to take over. how? I guess I could do two if statements, but thats ugly, no??
# 2  
Old 03-28-2008
Bug

Hi,
Try out the code given below, I use ksh and It works in that.

#! /bin/sh
if [[ ($# -eq 0) || ($# > 3) ]]
then
echo "blah bla bla"
else
exit
fi

Hope this works for you. Smilie
# 3  
Old 03-28-2008
The wretched syntax would seem to indicate that this hapless OP is stuck with csh. ksh idioms do not work in csh.

In both syntaxes, though, the "or" condition is signified with ||

On another note, attempting to script in csh is generally thought to be somewhat misdirected. You might be better off in the long run if you switch to a Bourne-compatible shell for scripting. Google for "csh whynot".
# 4  
Old 03-29-2008
thx

that looks good thank you!

Last edited by ajp7701; 03-29-2008 at 01:13 AM..
# 5  
Old 03-29-2008
also

so all the stuff at work is configured with default shell of .csh, is it possible to run a bash script while in a .csh? this is solaris 8 on sun servers....
# 6  
Old 03-29-2008
Yes, the first line of the script (the "shebang" line) indicates what interpreter to use, on modern (post-1979 or so) platforms. It's handled by the kernel, the current shell doesn't care at all.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

ARGV how to use it?

So i am trying to read in file readFile <GivenFile> modFile looking for a regular file under the directories in the GivenFile and print them out is my over all goal. basically I am looking for anything that looks like a directory in the given file and printing it out. Since I am trying to do... (2 Replies)
Discussion started by: squidGreen
2 Replies

2. UNIX for Advanced & Expert Users

O argv, argv, wherefore art thou argv?

All of my machines (various open source derivatives on x86 and amd64) store argv above the stack (at a higher memory address). I am curious to learn if any systems store argv below the stack (at a lower memory address). I am particularly interested in proprietary Unices, such as Solaris, HP-UX,... (9 Replies)
Discussion started by: alister
9 Replies

3. Programming

How do I copy or rewind *argv[]

I'm working on my own pow function and I need to make a copy of *argv but I think that I am having trouble with the size of *argv and the size of any array that I make. The code below isn't working for me. and I want to accept any number no matter the size with pow -f 2 2. I was working out... (16 Replies)
Discussion started by: Errigour
16 Replies

4. Programming

help with C, argv

when i run my program, i have a parameter, that i want to set the value to another string i am using int main(int argc, char **argv) { char my_str=argv; printf("%s",my_str); return 0; } and i get Segmentation fault ran using ./my_prog /usr/share/dict/words hello1 ... (2 Replies)
Discussion started by: omega666
2 Replies

5. Programming

ARGV help in C

Hi, Can somehelp help how to list file in a dir? (5 Replies)
Discussion started by: Learnerabc
5 Replies

6. Shell Programming and Scripting

$#Argv in Csh

Hello all, Had a quick question: In a typical csh script should inputting via stdin (i.e. set i = $< ) increase the value of $#argv ? echo enter an value: set val= "$<" if($#argv == 0) then echo No args else echo The arg is $argv so if a value is inputted #argv... (1 Reply)
Discussion started by: new2C
1 Replies

7. Programming

help for argv argc

Hi C experts, I have the following code for adding command line option for a program int main (argc, argv) int argc; char *argv; { char *mem_type; //memory type char *name; //name of the memory int addr; //address bits int data; ... (5 Replies)
Discussion started by: return_user
5 Replies

8. Shell Programming and Scripting

Perl: Getting $ARGV's to operate like while(<>)

I have a script that asks a bunch of questions using the following method for input: print "Name:"; while(<>){ chomp; $name=$_; } So for example, if the questions asked for name, age, & color (in that order)... I want to be able to easily convert $ARGV into the input expected by... (2 Replies)
Discussion started by: jjinno
2 Replies

9. Programming

Using argv argc

I searched on the forums. No advises. I am using a previous source code. I changed the main function main(int argc, char **argv) in a function misc(int argc, char **argv). How do you use the argc and argv parameters? This is how I am calling the function : char param; strcat(param,"wgrib ");... (4 Replies)
Discussion started by: Akeson Chihiro
4 Replies

10. Programming

argv

I have a program which I wish to modify. It used to be run from the command line, but now I wish to change this so it can be used as a function. The program has complex argument processing so I want to pass my paramters to as if it were being called by the OS as a program. I have tried to... (2 Replies)
Discussion started by: mbb
2 Replies
Login or Register to Ask a Question