I need to check the first command line argument to see if it's -cleanup. My code is:
if ( $* != null ) then
if ( "X$argv[$n]" == "X-cleanup" ) then
echo "its cleanup"
I first check to make sure there is at least 1 argument. n is set to 1 at the beginning of the program. When I try to run my script with -cleanup as an argument I get this error:
if: Malformed file inquiry.
I've tried solutions from the few forum posts I found online but I cannot figure out how to correctly handle the dash. It's a tcsh shell.
This script snippet worked for me:
set n = 1
echo $argv[$n]
if ( "$argv[$n]" == "-cleanup" ) then
echo "its cleanup"
endif
When I run tcsh ./test-cleanup.tcsh -cleanup produces the following output:
-cleanup
its cleanup
The problematic piece of code is the following line. When -cleanup was unquoted, it confuses the csh interpreter as a file check.
if ( $* != null ) then
Replace it with this line:
if ( "$*" != "" ) then
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With