可能原意是是
set save_args=""
set save_args=($save_args $argv)而不是$argv[1].
这样就可以用
save_args[1]引用原argv[1]
save_args[2]引用原argv[2]
...
set save_args=($save_args $argv[1])只保存了argv[1]的值,没必要这样写.作者: inmolee 时间: 2003-07-16 20:53 标题: cshell的初级问题! 第一个问题还是没有很明白,不过可以肯定你说的是对的,确实是在循环中结合shift使用的,我困惑的就是为什么不写成
set save_args = $argv[1]
他和
set save_args = ($save_args $argv[1])
有什么区别!
假設
set save_args = a
set argv = ('99' '98' '97' '96')
echo $argv[1] # 得到99
set save_args = ($save_args $argv[1])
echo $save_args #得到a99
所以不一樣!!作者: pipen 时间: 2003-07-17 10:28 标题: cshell的初级问题! to 夜未眠: 程序没有错,是这样的,可能是因为我没有贴全,引起你的错解,他是通过一个while循环,在循环中用shift,然后每次都取arg[1],我想是一样可以实现的。thank you for your kind
to inmolee:你这样讲的话,我觉得程序的逻辑就可以解释的通了,老外的原程序中就是这样写的:
set save_args = “”
while($#argv > 0)