Você está confundindo bash
com csh
.
Em bash
como em qualquer shell parecido com o Bourne, set
é o comando para as opções definir (configurações de shell como -f
, -C
, -o noclobber
...) e parâmetros posicionais ( $1
, $2
.. .).
set FILEM="razrax"
Define $1
para FILEM=razrax
.
$ set FILEM="razrax"
$ echo "$1"
FILEM=razrax
A sintaxe para a atribuição de variáveis em shells semelhantes a Bourne é:
VAR=value
(nenhum espaço permitido em ambos os lados de =
).
ksh
e alguns outros shells parecidos com Bourne (mksh, pdksh, zsh) também podem atribuir variáveis de array com set
embora:
set -A array value1 value2
zsh
, bash
, yash
e versões mais recentes de ksh
usam esta sintaxe:
array=(value1 value2)
Por outro lado, em csh
ou tcsh
, a sintaxe é:
set VAR = value
set array = (value1 value2)
(espaços em torno de =
opcional).
Em rc
/ es
shells:
VAR = value
array = (value1 value2)
(espaços em torno de =
opcional).