Check for Empty Command Argument


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Check for Empty Command Argument
# 1  
Old 09-19-2007
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  
Old 09-19-2007
Use $# to check for the number of arguments passed. [ -z "$#" ] to check for null arguments.
# 3  
Old 09-19-2007
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  
Old 09-19-2007
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  
Old 09-19-2007
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  
Old 09-19-2007
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  
Old 09-19-2007
NySif,

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

Maybe you can try if[ "$#" -lt 2 ]
 
Login or Register to Ask a Question

Previous Thread | Next Thread

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. Shell Programming and Scripting

How to check whether a variable is empty or contains some value?

hi, i want to check whether a a variable contains some value or is empty in a shell script. so if the variable contains some value i want to do some job and if the variable doesnt contain any value then i need to skip that job. here is a sample script read_filenames.sh contains ... (5 Replies)
Discussion started by: Little
5 Replies

4. 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

5. 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

6. Shell Programming and Scripting

check whether the directory is empty or not

I have the list of users in user.log, under each user folder there is sub1 folder is there. i want to check whether sub1 is empty or not, if it is empty i have to skip that user user folder and iterate next user folders. i have the sample code,its not giving not proper results. while read line... (8 Replies)
Discussion started by: KiranKumarKarre
8 Replies

7. Shell Programming and Scripting

check if file is empty

How do I check if a file is empty in a sh script I want to test in my shell script if the output file is empty and if it is do one thing and if it isnt empty do another? any ideas? (8 Replies)
Discussion started by: stolz
8 Replies

8. Shell Programming and Scripting

Check for empty string

Hello All, I have written shell script whcih at the max 3 parameters. When only one commandline argument and other two command line arguments are passed as empty string like eg : archive ' ' ' ' Then i need to check whether the commandline... (12 Replies)
Discussion started by: rahman_riyaz
12 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
Login or Register to Ask a Question