Відповіді:
Ви плутаєте 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
прибираються якщо встановлено раніше)). Перегляньте посібник з оболонки для отримання детальної інформації.