C-shell 中的位置参数

Positional Parameters in C-shell

我无法使用此 shell 命令打印位置参数:echo

我按照以下两个命令使用它:

% set hi how are you
% echo 

命令没有输出任何内容,但 hi 应该打印出来。

在csh中,需要赋值给argv数组:

> set argv=(hi how are you)
> echo 
hi

解释:

argv 是一个包含命令行参数列表的数组变量(第 0 个参数是名称,因为 shell 被调用,另一个从第 1 个索引开始)。变量 [=13=] - $n 也包含参数的值。所以 $argv[1]</code> 相同。要分配给数组变量,您可以使用 <code>set arr=(value1 value2)set arr[1] = value1.

set value1 value2 可以在 bash 中工作,但是 csh 类似于 C 语言,因此使用 argv 数组(阅读一些关于C 程序命令行参数,如果你不知道为什么)。

但是在csh中,这个:set first second意味着给变量firstsecond赋一个空值。