Antworten:
Sie verwechseln bashmit csh.
In bashwie in jedem Bourne - Shell-like, setwird der Befehl an eingestellten Optionen (Shell Konfigurationseinstellungen , wie -f, -C, -o noclobber...) und Positionsparameter ( $1, $2...).
set FILEM="razrax"
Setzt $1auf 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 =).
kshund einige andere Bourne-ähnliche Shells (mksh, pdksh, zsh) können auch Array-Variablen zuweisen mit set:
set -A array value1 value2
zsh, bash, yashUnd neuere Versionen kshverwenden diese Syntax statt:
array=(value1 value2)
Im Gegensatz dazu lautet die Syntax in cshoder tcsh:
set VAR = value
set array = (value1 value2)
(Leerzeichen um =optional).
In rc/ esMuscheln:
VAR = value
array = (value1 value2)
(Leerzeichen um =optional).
set -Csetzt die -COption (wie set -o noclobber). set fooweist foozu $1(und $#ist 1, ( $2, $3sind nicht gesetzt, wenn zuvor gesetzt)). Weitere Informationen finden Sie im Handbuch Ihrer Shell.