我正在编写一个csh shell脚本run
,其中用户需要将路径作为$1
变量传递给它。如何确定是否缺少$1
并为其定义默认值?
答案 0 :(得分:2)
知道可以使用tcsh版本6.15.00
#! /bin/csh
if( $#argv == 0 ) then
set filename="(default file)"
else
set filename=$argv[1]
endif
echo "The file is $filename."
注意强>
与 csh 没有标准,因为有POSIX shell;但至少基本的if-then-else
和$#argv
应该是可移植的。
另见
POSIX and Korn Shell Versus Other Shells
Csh Programming Considered Harmful
Bash
答案 1 :(得分:-1)
您可以执行以下操作:
if [ $# -eq 0 ];then
dir='default' # argument not passed use default.
else
dir=$1 # argument passed..use it.
fi
# use $dir
ls $dir