Check for Empty Command Argument


 
Thread Tools Search this Thread
# 1  
Check for Empty Command Argument

I have a script that when called can have 1 or 2 command arguments. If only 1 command argument is passed into the script how can I check that the second argument is null? I am working in Korn shell in a UNIX environment.


Example of script call with 2 arguments:
Code:
% statreport 0300 1430


Example of script call with 1 argument:
Code:
% statreport 0300

# 2  
Use $# to check for the number of arguments passed. [ -z "$#" ] to check for null arguments.
# 3  
The user knows to call the script with either 1 or 2 command arguments. Depending on the call I need the script to perform different operations. How exactly would I check if the second command argument is null?
# 4  
You can try doing
if [ "$#" - ne 2 ] then

do something else.

fi

So if the first argument is passed to the script then there is no problem. If the second argument is not supplied then do something else. Hope that helps a bit.
# 5  
Quote:
Originally Posted by Nysif Steve
The user knows to call the script with either 1 or 2 command arguments. Depending on the call I need the script to perform different operations. How exactly would I check if the second command argument is null?

Use test (a.k.a. [):

Code:
if [ -z "$2" ]
then ## Second argument is empty
   : do something
else
   : do something else
fi

# 6  
Still the same error. Here is a larger portion of the code:

Code:
        ((startTime= `perl -e 'print time;'`))
	((currentTime= $startTime))
	((executeTime= $startTime))
	tempTime=`date +%H%M`


	# Check if the second command argument is exists.
	if[ "$#" <  2 ]
	then
		((endTime = $startTime + 28800))		# Add 8 hours = 28800 seconds

	# If The second command line argument isn't empty
	else
		((temp = `expr $2 - $tempTime`))
		if[ $temp < 0 ]					# If temp is negative convert it to positive
		then
			((tempHour = temp / 100))
			((tempHour = tempHour * -3600)) 	# Multiply hours by -3600 seconds per hour to make positive
			((tempMin = temp % 100))
			((tempMin = tempMin * -60))		# Multiple minutes by -60 seconds per minute to make positive
			

		else
			((tempHour = temp / 100))
			((tempHour =  tempHour * 3600)) 	# Multiply hours by 3600 seconds per hour
			((tempMin = temp % 100))
			((tempMin =  tempMin * 60))		# Multiple minutes by 60 seconds per minute
		fi

		((endTime = $endTime + $tempHour + $tempMin))
	fi

# 7  
NySif,

Not sure if that is valid shell syntax "if[ "$#" < 2 ]"

Maybe you can try if[ "$#" -lt 2 ]
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #816
Difficulty: Medium
In CSS, E#myid matches an E element with a 'myid' class name.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Cant check empty string

Hello So i have that script collection, in which i have a single script to create a configuration file. In there, i have multiple occourences of something like this: prj_title=$(tui-read "What is the TITLE? ($prj_name):") ] && prj_title="${prj_name/_/ }" They all work as expected, if... (5 Replies)
Discussion started by: sea
5 Replies

2. Shell Programming and Scripting

Argument check

All, I'm writing an argument checking block and running into an error. I want to confirm that $1 is one of two values. Here is what I have: if ]; then echo -e "\nPlease check your first augument. You used \"$1\" which is not recognized. Please see usage:" usage ... (9 Replies)
Discussion started by: hburnswell
9 Replies

3. Homework & Coursework Questions

Check whether a Directory is empty or not

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: 1.pls tell me the command for checking whether a given directory is empty or not . 2. can i check what is the... (1 Reply)
Discussion started by: upvan111
1 Replies

4. Shell Programming and Scripting

Check whether a Directory is empty or not

1.pls tell me the command for checking whether a given directory is empty or not . 2. can i check what is the last copied item in a directory . and i yes , i want to move that last copied item in another directory . pls help me with shell code for these two tasks thanks (1 Reply)
Discussion started by: upvan111
1 Replies

5. Shell Programming and Scripting

Cannot compare argument in if statement in csh/grep command if argument starts with -

If ($argv == “-debug”) then Echo “in loop” Endif But this is not working. If I modify this code and remove “-“, then it works. Similarly I am getting problem using grep command also Grep “-debug” Filename Can someone please help me on how to resolve these... (1 Reply)
Discussion started by: sarbjit
1 Replies

6. Shell Programming and Scripting

Empty Directory Check

Hi All, I have a requirement to check all the files in a directory and mail non empty files Files are in csv format , i need to skip header while checking pls help Thanks (12 Replies)
Discussion started by: gwrm
12 Replies

7. Shell Programming and Scripting

check empty directory !!!

I need to check if a directory is empty using an if condition in the pseudocode below if ; then else although i looked at a few forums on this topic, I left feeling a little unclear and i could not use the command successfully what can i substitute in the if conditon above,... (2 Replies)
Discussion started by: allah_waris45
2 Replies

8. UNIX for Dummies Questions & Answers

How to check if a file is empty?

Hi Masters..... I have problem !!! I need to check number of records in a file and if it is zero or file is empty i need to do some task. if ; then echo "File s empty" else echo "Not empty" fi so how to check this condition. I used wc -l < filename.txt => 1 for zero records same result... (1 Reply)
Discussion started by: shreekrishnagd
1 Replies

9. Shell Programming and Scripting

How can I make the for command check to see if a file is empty before executing?

Here is the command in question for f in $(<uploads); do . I only want this to execute if uploads is not empty. If uploads is empty I want the script to quit, actually before the for command. If its not apparent uploads is a text file. Chris (3 Replies)
Discussion started by: chrchcol
3 Replies

10. UNIX for Dummies Questions & Answers

how to check if the argument contain wildcard (*,?) ?

In a script , i would like to check if the argument ( $1, $2 inside the script) contain wildcard (*,? etc). how do i do it? > script_name arg1 arg* $1 (arg1) does not contain wildcard, but $2 (arg* )contains wildcard. how can i tell in script? i need to do this is because : if arg1... (3 Replies)
Discussion started by: gusla
3 Replies

Featured Tech Videos