Sponsored Content
Full Discussion: Multiple conditions in IF
Top Forums Shell Programming and Scripting Multiple conditions in IF Post 302975058 by junior-helper on Tuesday 7th of June 2016 06:31:36 PM
Old 06-07-2016
Quote:
Originally Posted by xeccc5z
...am passing the file names as command line argument...
Why not use bash's special parameter #?
# Expands to the number of positional parameters in decimal.
Example:
Code:
#!/bin/bash

if [[ "$#" -ne "3" ]]; then
 echo "Need 3 files, you supplied $#, please try again."
 exit 1
fi

set -x
file1=$1
file2=$2
file3=$3
set +x

Test:
Code:
$ ./script
Need 3 files, you supplied 0, please try again.
$ ./script foo
Need 3 files, you supplied 1, please try again.
$ ./script foo bar
Need 3 files, you supplied 2, please try again.
$ ./script foo bar baz
+ file1=foo
+ file2=bar
+ file3=baz
+ set +x
$

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

multiple conditions in if statements

Hi all, I'm confused about the proper syntax for multi-conditional if then statements. I'm trying to set limitations on info input on the command line.. i.e. if ] ;then $x=$vr1 else print "You have entered an invalid option." Can someone please clue me in on what is wrong with my syntax;... (3 Replies)
Discussion started by: tim mauger
3 Replies

2. UNIX for Dummies Questions & Answers

multiple conditions in if/then

Hello, I am having trouble with the syntax with a conditional statement in a BASH script involving multiple conditions. Any suggestions would be greatly appreciated! if ; then array=("${array}" "$dnNum" ) fi i receive this error: ./testscript: ' (4 Replies)
Discussion started by: grandtheftander
4 Replies

3. Shell Programming and Scripting

multiple if conditions

Guys, Im trying to have a script that evaluates multiple conditions : test.sh: if then echo "host $1" else if then echo "host $1" else echo $1 not valid exit 1 fi when I do ./test.sh brazil1 I get: (4 Replies)
Discussion started by: bashshadow1979
4 Replies

4. Shell Programming and Scripting

Help regarding multiple conditions

Hi All, I am new to shell scripting. Can any one say what is wrong in this if statement, that uses multiple conditions if then *************** else if ( -z $pcs && "$night_time_calc" > "$night_time" ) then ******************************** ... (4 Replies)
Discussion started by: ssenthilkumar
4 Replies

5. Shell Programming and Scripting

specifying multiple conditions in AWK

how can i specify more than 1 consition in the following AWK statament?? i.e. if $2 is ABCD and $3 is MNOP and $4 is KLPM similarly for OR #!/bin/ksh awk -F '' ' $2 == "ABCD" { print $2, $3;}' file.xml (2 Replies)
Discussion started by: skyineyes
2 Replies

6. Shell Programming and Scripting

multiple conditions in 'if clause'

Hi, When i use the below code snippet in my shell script OFC_10.sh: if then echo "Success" exit 2 elif then echo "Failure" exit 6 I get the error message: ./OFC_10.sh: line 41: ' ./OFC_10.sh: line 45: ' Line 41 is the line where If loop starts and line 45 is... (2 Replies)
Discussion started by: shrutihardas
2 Replies

7. UNIX for Dummies Questions & Answers

Nested if with multiple conditions

Deal Experts I am working on a script to find a date which is 7 days older and follwoing is my approach #!/bin/sh Yr=`date +"%Y"` Mn=`date +"%m"` Md=28 Da=`date +"%d"` echo $Yr echo $Mn echo $Da var1=$Yr$Mn$Da echo "before" $var1 if expr $Da > 7 then Da=`expr $Da - 7`... (3 Replies)
Discussion started by: sweetnsourabh
3 Replies

8. UNIX for Dummies Questions & Answers

If + multiple conditions

Hello Unix-Forums! It has been a long time since my last post, but finally I've got a new question: I know in case you can use multiple patterns by case $var in a|b|c|ab) and so on. But how would I place an OR between if ] then ... if ] then ... I want to execute the "..." if... (3 Replies)
Discussion started by: intelinside
3 Replies

9. UNIX for Beginners Questions & Answers

Logic for multiple if conditions.

Hi Gurus, Is there a way we can set a logic for this problem ? The input file looks like below; 1 15 17 2 8 12 3 18 24 4 21 23 5 2 4 6 11 25 So, I would like to print for any row of the input file where the range of value between $2 to $3 lies within the min and max values of Min=10... (2 Replies)
Discussion started by: Indra2011
2 Replies

10. UNIX for Beginners Questions & Answers

Multiple If conditions

I am analyzing one of the scripts written by another person.script is having multiple if conditions and everything are nested.The code is not formatted properly.Is there any way to identify in Unix to identify begin and end of a particular if block? (6 Replies)
Discussion started by: vamsi.valiveti
6 Replies
Mojo::Path(3pm) 					User Contributed Perl Documentation					   Mojo::Path(3pm)

NAME
Mojo::Path - Path SYNOPSIS
use Mojo::Path; my $path = Mojo::Path->new('/foo%2Fbar%3B/baz.html'); shift @{$path->parts}; say $path; DESCRIPTION
Mojo::Path is a container for URL paths. ATTRIBUTES
Mojo::Path implements the following attributes. "leading_slash" my $leading_slash = $path->leading_slash; $path = $path->leading_slash(1); Path has a leading slash. "parts" my $parts = $path->parts; $path = $path->parts([qw(foo bar baz)]); The path parts. # Part with slash push @{$path->parts}, 'foo/bar'; "trailing_slash" my $trailing_slash = $path->trailing_slash; $path = $path->trailing_slash(1); Path has a trailing slash. METHODS
Mojo::Path inherits all methods from Mojo::Base and implements the following new ones. "new" my $path = Mojo::Path->new; my $path = Mojo::Path->new('/foo%2Fbar%3B/baz.html'); Construct a new Mojo::Path object. "canonicalize" $path = $path->canonicalize; Canonicalize path. # "/foo/baz" Mojo::Path->new('/foo/bar/../baz')->canonicalize; "clone" my $clone = $path->clone; Clone path. "contains" my $success = $path->contains('/foo'); Check if path contains given prefix. # True Mojo::Path->new('/foo/bar')->contains('/'); Mojo::Path->new('/foo/bar')->contains('/foo'); Mojo::Path->new('/foo/bar')->contains('/foo/bar'); # False Mojo::Path->new('/foo/bar')->contains('/f'); Mojo::Path->new('/foo/bar')->contains('/bar'); Mojo::Path->new('/foo/bar')->contains('/whatever'); "merge" $path = $path->merge('/foo/bar'); $path = $path->merge('foo/bar'); $path = $path->merge(Mojo::Path->new('foo/bar')); Merge paths. # "/baz/yada" Mojo::Path->new('/foo/bar')->merge('/baz/yada'); # "/foo/baz/yada" Mojo::Path->new('/foo/bar')->merge('baz/yada'); # "/foo/bar/baz/yada" Mojo::Path->new('/foo/bar/')->merge('baz/yada'); "parse" $path = $path->parse('/foo%2Fbar%3B/baz.html'); Parse path. Note that %2F will be treated as "/" for security reasons. "to_abs_string" my $string = $path->to_abs_string; Turn path into an absolute string. "to_string" my $string = $path->to_string; Turn path into a string. SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojo::Path(3pm)
All times are GMT -4. The time now is 02:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy