Yanıtlar:
Sen karıştırıyorsun bash
ile csh
.
In bash
herhangi Bourne benzeri kabuk, olduğu gibi set
komut olan set seçenekleri (kabuk yapılandırma ayarları gibi -f
, -C
, -o noclobber
...) ve konumsal parametreler ( $1
, $2
...).
set FILEM="razrax"
Kümeler $1
için FILEM=razrax
.
$ set FILEM="razrax"
$ echo "$1"
FILEM=razrax
Bourne benzeri kabuklarda değişken atamanın sözdizimi:
VAR=value
(her iki tarafında boşluk bırakılmaz =
).
ksh
Bourne benzeri diğer mermiler de (mksh, pdksh, zsh) aynı zamanda dizi değişkenleri de atayabilir set
:
set -A array value1 value2
zsh
, bash
, yash
Ve daha yeni sürümleri ksh
bu sözdizimi yerine kullanılması:
array=(value1 value2)
Buna karşılık, sözdiziminde csh
veya tcsh
sözdizimi:
set VAR = value
set array = (value1 value2)
( =
isteğe bağlı boşluklar ).
İç rc
/ es
kabuklar:
VAR = value
array = (value1 value2)
( =
isteğe bağlı boşluklar ).
set -C
ayarlar -C
(ile aynı set -o noclobber
). set foo
atar foo
için $1
(ve $#
(1 olduğu $2
, $3
önceden ayarlanmış ise sertleşmemiş olan)). Ayrıntılar için kabuğunuzun kılavuzuna bakın.