Câu trả lời:
Bạn đang bối rối bashvới csh.
Trong bashgiống như trong bất kỳ Bourne giống như vỏ, setlà lệnh để thiết lập tùy chọn (thiết lập cấu hình vỏ thích -f, -C, -o noclobber...) và các thông số vị trí ( $1, $2...).
set FILEM="razrax"
Đặt $1thành FILEM=razrax.
$ set FILEM="razrax"
$ echo "$1"
FILEM=razrax
Cú pháp gán biến trong các shell giống Bourne là:
VAR=value
(không có không gian cho phép ở hai bên =).
kshvà một số shell giống Bourne khác (mksh, pdksh, zsh) cũng có thể gán các biến mảng với set:
set -A array value1 value2
zsh, bash, yashVà các phiên bản mới hơn của kshsử dụng cú pháp này để thay thế:
array=(value1 value2)
Ngược lại, trong cshhoặc tcsh, cú pháp là:
set VAR = value
set array = (value1 value2)
(không gian xung quanh =tùy chọn).
Trong rc/ esvỏ:
VAR = value
array = (value1 value2)
(không gian xung quanh =tùy chọn).
set -Cđặt -Ctùy chọn (giống như set -o noclobber). set foogán foocho $1(và $#là 1, ( $2, $3không được đặt nếu được đặt trước đó)). Kiểm tra hướng dẫn sử dụng vỏ của bạn để biết chi tiết.