Відповіді:
Ви плутаєте bashз csh.
В , bashяк і в будь-якому Bourne-подібні оболонок, setце команда набору опцій (параметри конфігурації оболонки подобаються -f, -C, -o noclobber...) і позиційні параметри ( $1, $2...).
set FILEM="razrax"
Набори $1для FILEM=razrax.
$ set FILEM="razrax"
$ echo "$1"
FILEM=razrax
Синтаксис присвоєння змінної в оболонках Борна:
VAR=value
(не допускається пробілів з обох боків від =).
kshта деякі інші оболонки Борна (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прибираються якщо встановлено раніше)). Перегляньте посібник з оболонки для отримання детальної інформації.