I am writing a csh shell script, run
where the user is expected to pass a path into it as the $1
variable. How can I determine if $1
is missing and define a default value instead for it?
views:
18answers:
2
+1
A:
You can do something like:
if [ $# -eq 0 ];then
dir='default' # argument not passed use default.
else
dir=$1 # argument passed..use it.
fi
# use $dir
ls $dir
codaddict
2010-09-28 15:38:39
That's Bourne and family. The question is tagged `[csh]`.
Dennis Williamson
2010-09-28 18:25:03
A:
This is know to work on tcsh version 6.15.00
#! /bin/csh
if( $#argv == 0 ) then
set filename="(default file)"
else
set filename=$argv[1]
endif
echo "The file is $filename."
NOTE
There is no standard with csh as there is with the POSIX shell; but at least basic if-then-else
and $#argv
should be portable.
See Also
POSIX and Korn Shell Versus Other Shells
Csh Programming Considered Harmful
Bash
Frayser
2010-09-29 20:14:41