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手册。