Answers:
你混淆bash
使用csh
。
在bash
像在任何类似Bourne壳,set
是命令组选项(壳配置设置喜欢-f
,-C
,-o noclobber
...)和位置参数($1
,$2
...)。
set FILEM="razrax"
设置$1
为FILEM=razrax
。
$ set FILEM="razrax"
$ echo "$1"
FILEM=razrax
在类似Bourne的shell中,变量分配的语法为:
VAR=value
(的任一侧都不允许有空格=
)。
ksh
其他一些类似Bourne的shell(mksh,pdksh,zsh)也可以通过以下方式分配数组变量set
:
set -A array value1 value2
zsh
,bash
,yash
和新版本ksh
这个语法,而不是使用:
array=(value1 value2)
相反,在csh
或中tcsh
,语法为:
set VAR = value
set array = (value1 value2)
(=
可选的空格)。
在rc
/ es
壳中:
VAR = value
array = (value1 value2)
(=
可选的空格)。
set -C
设置-C
选项(与相同set -o noclobber
)。set foo
受让人foo
到$1
(和$#
为1,( $2
,$3
是未设置如果先前设置))。有关详细信息,请查阅您的Shell手册。