2010-09-28 142 views

回答

0

你可以这样做:

if [ $# -eq 0 ];then 
     dir='default' # argument not passed use default. 
else 
     dir=$1  # argument passed..use it. 
fi 

# use $dir 
ls $dir 
+1

这就是Bourne和家人见。问题被标记为[[csh]'。 – 2010-09-28 18:25:03

2

这是知道有关tcsh版本工作00年6月15日

#! /bin/csh 

if($#argv == 0) then 
     set filename="(default file)" 
else 
    set filename=$argv[1] 
endif 

echo "The file is $filename." 

注意
没有与CSH没有标准,因为与POSIX外壳一起;但至少基本的if-then-else$#argv应该是便携式的。

此外
POSIX and Korn Shell Versus Other Shells
Csh Programming Considered Harmful
Bash

+0

我可以在一行中做到这一点吗?因为我需要在别名中使用它 – Shuman 2016-03-28 16:29:23