로컬/환경 변수와 내보내기/설정 명령을 이해하려고 합니다.
$ set FILEM="razrax"
$ echo $FILEM
$ FILEN="test"
$ echo $FILEN
test
echo $FILEM
빈 문자열이 반환되는 이유를 설명해주세요.
답변1
당신은 bash
에 대해 혼란스러워하고 있습니다 csh
.
bash
Bourne과 같은 껍질 처럼set
명령이다놓다-f
옵션( , -C
, ... 등의 쉘 구성 설정 -o noclobber
) 및 위치 매개변수( $1
, $2
...).
set FILEM="razrax"
$1
로 설정 FILEM=razrax
.
$ set FILEM="razrax"
$ echo "$1"
FILEM=razrax
Bourne과 유사한 쉘에서 변수 할당을 위한 구문은 다음과 같습니다.
VAR=value
(양쪽에 공백은 허용되지 않습니다 =
).
ksh
그리고 다른 Bourne 유사 쉘(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)
(주변 공간은 =
선택사항입니다.)