Linux: 로컬 변수에 대한 명령 설정

Linux: 로컬 변수에 대한 명령 설정

로컬/환경 변수와 내보내기/설정 명령을 이해하려고 합니다.

$ set FILEM="razrax"
$ echo $FILEM

$ FILEN="test"
$ echo $FILEN
test

echo $FILEM빈 문자열이 반환되는 이유를 설명해주세요.

답변1

당신은 bash에 대해 혼란스러워하고 있습니다 csh.

bashBourne과 같은 껍질 처럼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다음 구문을 사용합니다.yashksh

array=(value1 value2)

반면에 csh또는 의 tcsh구문은 다음과 같습니다.

set VAR = value
set array = (value1 value2)

(주변 공간은 =선택사항입니다.)

rc/ es쉘 에서 :

VAR = value
array = (value1 value2)

(주변 공간은 =선택사항입니다.)

관련 정보