在csh脚本中设置默认用户变量

时间:2010-09-28 15:24:57

标签: shell csh

我正在编写一个csh shell脚本run,其中用户需要将路径作为$1变量传递给它。如何确定是否缺少$1并为其定义默认值?

2 个答案:

答案 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