리눅스, 자료실, 성경검색, 추억의게임, 고전게임, 오락실게임, rootman, http://www.rootman.co.kr
* 3.234.214.113 *
| Home | Profile | Linux | 자료실 | zabbix | Mysql 5.6 | 갤러리 | 성경검색 | 해피니스 | 자유게시판 | 게시물검색 | L | O | R |    

 
[Shell] [예제] 변수 할당과 치환
 작성자 : rootman
Date : 2002-10-14 21:41  |  Hit : 8,569  


#!/bin/bash
# 변수: 할당과 치환

a=375
hello=$a

#-------------------------------------------------------------------------
# 변수를 초기화 할 때, = 양쪽에는 빈 칸이 들어가면 안 됩니다.
#  "VARIABLE =value" 라고 하면,
#+ 스크립트는 "VARIABLE" 명령어가 "=value"란 인자를 갖는것처럼 인식합니다.
#  "VARIABLE= value" 라고 하면,
#+ 스크립트는 "value" 명령어가 환경변수 "VARIABLE"을 ""로 세팅해서
#+ 실행되는 것으로 인식합니다.
#-------------------------------------------------------------------------


echo hello    # 변수 참조가 아니고 그냥 "hello"란 문자열입니다.

echo $hello
echo ${hello} # 위와 똑같습니다.

echo "$hello"
echo "${hello}"

echo

hello="A B  C  D"
echo $hello
echo "$hello"
# 이제 echo $hello 와 echo "$hello" 는 다른 결과가 나옵니다.
# 변수를 쿼우팅해주면 공백문자가 보존됩니다.

echo

echo '$hello'
#  작은 따옴표로 변수를 쿼우팅해주면 "$"가 문자 그대로 해석되기 때문에
#+ 변수 참조가 일어나지 않습니다.

# 쿼우팅의 종류에 따라 달라지는 결과에 주목하세요.


hello=    # 널 값을 갖도록 세팅.
echo "\$hello (널 값) = $hello"
#  변수를 널 값으로 세팅하는 것과 unset 하는 것은 비록 결과는 같지만
#+ 엄연히 다릅니다(다음 참조).

# --------------------------------------------------------------

#  여러 변수들을 공백문자로 구분해서 한 줄에서 세트할 수 있습니다.
#  하지만 이렇게 하면 코드의 가독성이 떨어지고
#+ 다른 시스템으로 이식할 수가 없을 수도 있기 때문에 조심해서 써야 됩니다.

var1=variable1  var2=variable2  var3=variable3
echo
echo "var1=$var1  var2=$var2  var3=$var3"

# 예전 버전의 "sh"에서는 문제가 생길수도 있습니다.

# --------------------------------------------------------------

echo; echo

numbers="one two three"
other_numbers="1 2 3"
# 변수에 공백문자가 들어 있다면 쿼우팅을 해줘야 합니다.
echo "numbers = $numbers"
echo "other_numbers = $other_numbers"
echo

echo "uninitialized_variable = $uninitialized_variable"
# 초기화 안 된 변수는 널 값을 갖습니다(아무 값도 없습니다).
uninitialized_variable=  #  선언만 하고 초기화 안함.
                          #+ (위에서처럼 널 값으로 세팅한 것과 똑같음).
echo "uninitialized_variable = $uninitialized_variable"
                          # 여전히 널 값을 갖고 있네요.

uninitialized_variable=23      # 세트.
unset uninitialized_variable    # 언세트.
echo "uninitialized_variable = $uninitialized_variable"
                                # 여전히 널 값입니다.

echo

exit 0

 
 

Total. 25
번호 분류 제목 작성자 등록일 조회수
25 Shell [날짜] awk를 이용하여 unixtime의 시간 차 구하기 rootman 01-27 8221
24 Shell 쉘배열 (shell array) rootman 05-15 12755
23 Shell [날짜] date 함수로 unixtime의 시간 차 구하기 rootman 12-07 7098
22 Shell [squid] proxy 서버의 캐시 데이터 추출 rootman 03-24 6290
21 Shell [nagios] HP MSA60 P800 하드디스크 에러 검출 스크립트 rootman 06-26 10104
20 Shell [nagios] HP MSA60 P800 스카시 컨트롤러 펌웨어 체크 plugin rootman 04-16 10362
19 Shell Positional Parameter(위치변수) rootman 02-17 8725
18 Shell lynx를 통한 내부 링크와 외부 링크 return rootman 03-14 9458
17 Shell 입력 값은 값이 숫자인지 체크하기 rootman 11-13 8175
16 Shell [공유메모리] critical_create(): semget() failed 발생 시 rootman 01-30 8115
15 Shell [예제] 입력받은 문자열 대문자로 모두 변경하기 (1) rootman 09-12 7876
14 Shell 데이터 베이스 일괄(table 별도)로 전체 백업하기 (101) rootman 07-03 14198
13 Shell [최종수정 : 2005/09/12] 서버 상태 값 주기적으로 메일로 발송… 루트맨 01-27 11162
12 Shell mysql Database 테이블 모두 최적화하기 (7) rootman 03-21 15347
11 Shell [예제] 변수 할당과 치환 (17) rootman 10-14 8570
 1  2  
AND OR