Antworten:
Sie verwechseln bash
mit csh
.
In bash
wie in jedem Bourne - Shell-like, set
wird der Befehl an eingestellten Optionen (Shell Konfigurationseinstellungen , wie -f
, -C
, -o noclobber
...) und Positionsparameter ( $1
, $2
...).
set FILEM="razrax"
Setzt $1
auf FILEM=razrax
.
$ set FILEM="razrax"
$ echo "$1"
FILEM=razrax
Die Syntax für die Variablenzuweisung in Bourne-ähnlichen Shells lautet:
VAR=value
(kein Platz auf beiden Seiten erlaubt =
).
ksh
und einige andere Bourne-ähnliche Shells (mksh, pdksh, zsh) können auch Array-Variablen zuweisen mit set
:
set -A array value1 value2
zsh
, bash
, yash
Und neuere Versionen ksh
verwenden diese Syntax statt:
array=(value1 value2)
Im Gegensatz dazu lautet die Syntax in csh
oder tcsh
:
set VAR = value
set array = (value1 value2)
(Leerzeichen um =
optional).
In rc
/ es
Muscheln:
VAR = value
array = (value1 value2)
(Leerzeichen um =
optional).
set -C
setzt die -C
Option (wie set -o noclobber
). set foo
weist foo
zu $1
(und $#
ist 1, ( $2
, $3
sind nicht gesetzt, wenn zuvor gesetzt)). Weitere Informationen finden Sie im Handbuch Ihrer Shell.