How to check arguments in shell???


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How to check arguments in shell???
# 1  
Old 01-25-2013
How to check arguments in shell???

for example I have
make [file] target
file is optional. So can I check whether there is [file] or no? I tried

Code:
if test $# -eq 1 
then
path=$1
else path=$2
fi

But it doesnt work properlu ;(

Moderator's Comments:
Mod Comment Please use code tags next time for your code and data.

Last edited by radoulov; 01-25-2013 at 04:35 PM..
# 2  
Old 01-25-2013
Linux Bash check args

Code:
Expectedargs = 1If [ $# -ne $expectedargs ] 
 Then
         Echo "usage: 'basename "
          Exit 1
Fi


That should work for you

Last edited by Scott; 01-26-2013 at 07:50 AM.. Reason: Removed URL
# 3  
Old 01-25-2013
This should fulfill your requirements
Code:
#!/bin/sh

if [ "$#" -eq 1 ]; then
	path="$1"
else
	file="$1"
	path="$2"
fi

exit 0

# 4  
Old 01-25-2013
By echo wanted to check...Does not work still...
Code:
#!/bin/sh
if [ "$#" -eq 1 ] then
target=$1
echo $target

else makefile='$1'
target=$2
echo $makefile
$target

fi
exit 0

# 5  
Old 01-25-2013
Code:
#!/bin/sh
if [ "$#" -eq 1 ] then
    target="$1"
    echo "$target"
else
    makefile="$1"
    target="$2"
    echo "$makefile\n$target"
fi
exit 0

# 6  
Old 01-25-2013
That is missing an important semicolon or line break.

Also, 'echo' does not work that way.

Code:
if [ "$#" -eq 1 ]; then
    target="$1"
    echo "$target"
else
    makefile="$1"
    target="$2"
    printf "%s\n" "$makefile" "$target"
fi
exit 0

# 7  
Old 01-25-2013
He is asking Syntax error: "else" unexpected (expecting "then")
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Shell script file check throws [: too many arguments

While I am trying to check the filename/s in IF statement of a shell script (RedHat Linux 6) I am getting below error: File check: filename_time2=`date --date='yesterday' +%Y-%m-%d` cd /location/of/the/files/to/copy if then cp server.log-$filename_time2* ../archive/new... (5 Replies)
Discussion started by: Dip
5 Replies

2. Shell Programming and Scripting

Shell scripting with passing arguments

Hi All, I am using the script for creating local queue and passing the arguments while running the script as below n=0 while do e=`expr $n + 3` echo 'DEFINE QL('$e') MAXDEPTH('$6') MAXMSGL('$7') DEFPSIST('$8') '$9'' | /apps/mqm_opt/bin/runmqsc $2 n=`expr $n + 1` done Running the... (5 Replies)
Discussion started by: Anusha M
5 Replies

3. Shell Programming and Scripting

sub arguments to shell script

Hi, I have a shell script, when run it i get a prompt to enter arguments say 1 for doing my next task otherwise q for quit. What I am trying to do is run the shell script with the argument passed in however it does not seem to work. This is what I did ./test.sh 1 Instead it printed the line... (6 Replies)
Discussion started by: aqua9
6 Replies

4. Homework & Coursework Questions

Shell Scripting with Arguments

1. The problem statement, all variables and given/known data: Problem 1: I need to create a shell script the takes three arguments and echo's out "There once was a ____that____who like to_____" The arguments go where the blanks are. Problemt 2: -Do an LS and store the... (4 Replies)
Discussion started by: dw15
4 Replies

5. Shell Programming and Scripting

Using arguments in Shell script

Hello, I have to make a shell script doing that : the program tests if there is an argument, if there is it checks whether this is a directory or not, If it is it opens it. for any .c file in the directory it prints 2 lines in the screen : the dependence line of the .o and compiler commend... (1 Reply)
Discussion started by: dekl
1 Replies

6. Shell Programming and Scripting

Check if passed arguments is users

i want to check passed arguments one by one and if it is user print home director of that user (3 Replies)
Discussion started by: testman84
3 Replies

7. Programming

read arguments from shell

I have to write a C program using sys call (read, no fread) to read from shell all the parameters, without know how many are them. I tryed in some ways, but I have no success. Any Idea? Can I use read to read from stdin? (1 Reply)
Discussion started by: DNAx86
1 Replies

8. Shell Programming and Scripting

Bash Shell - # of arguments

Hi!, How can I check the number of arguments passed from the shell in a bash shell ? (1 Reply)
Discussion started by: DNAx86
1 Replies

9. Shell Programming and Scripting

Shell script with arguments

Hi All, I need some help/ideas in coming up with a shell script. Basically, the script should install 1 or 2 or 3 packages based on the input arguments. For example, if I type in pkgscript.sh a1 a2 a3, it should install all the 3 scripts and pkgscript.sh a1 should install only a1. If a... (3 Replies)
Discussion started by: sankar6254
3 Replies

10. UNIX for Advanced & Expert Users

Arguments to a shell program

Hi List, Is it possible to pass one argument to a shell program eg) there is a shell program abc which takes one arguments abc one Due to some reasons I pass abc one two Now one,two must be considered as "one" argument to the shell programs. Any suggestions,hints are welcome. ... (3 Replies)
Discussion started by: csvenkata
3 Replies
Login or Register to Ask a Question

Featured Tech Videos