Risposte:
Stai confondendo bash
con csh
.
In bash
come in qualsiasi tipo Bourne shell, set
è il comando per impostare impostazioni (impostazioni di configurazione guscio, come -f
, -C
, -o noclobber
...) e parametri posizionali ( $1
, $2
...).
set FILEM="razrax"
Imposta $1
su FILEM=razrax
.
$ set FILEM="razrax"
$ echo "$1"
FILEM=razrax
La sintassi per l'assegnazione delle variabili nelle shell tipo Bourne è:
VAR=value
(nessuno spazio consentito su entrambi i lati di =
).
ksh
e alcune altre shell tipo Bourne (mksh, pdksh, zsh) possono anche assegnare variabili di array con set
:
set -A array value1 value2
zsh
, bash
, yash
E versioni più recenti di ksh
utilizzo questa sintassi invece:
array=(value1 value2)
Al contrario, in csh
o tcsh
, la sintassi è:
set VAR = value
set array = (value1 value2)
(spazi intorno =
facoltativi).
In rc
/ es
shells:
VAR = value
array = (value1 value2)
(spazi intorno =
facoltativi).
set -C
imposta l' -C
opzione (uguale a set -o noclobber
). set foo
assegna foo
a $1
(ed $#
è 1, ( $2
, $3
non sono impostati se precedentemente impostati)). Controlla il manuale della tua shell per i dettagli.