본문 바로가기
Linux

[Linux] C Shell Script - 변수

by RTLog 2024. 3. 26.
728x90
반응형

안녕하세요. RTLog입니다. 

 

오늘부터 틈틈히 C Shell Script를 공부하며 작성해보겠습니다. 

C Shell Script

보통 Ubuntu를 사용하신다면, Bash Shell을 많이 사용하실텐데요. Bash 기반의 Terminal에서 C Shell Script를 사용하고 싶으시다면 아래와 같이 C Shell을 설치해야 합니다. Script 실행 방법도 이어서 작성했습니다. 

sudo apt-get install csh

# temp.csh (script file)
csh temp.csh

 

Hello World 예제를 작성해볼게요.

#!/bin/csh
                   # 주석 '#'
echo hello, world  # Terminal에 문자열 출력
vi hello_world.csh

~ 위 내용 작성

chmod u+x hello_world.csh
csh hello_world.csh

hello_world

변수 (Variable) 

Shell Script에서는 변수를 정의할 수 있고, 정의된 변수는 다른 변수에서 참조할 수 있습니다. Shell 내부 참조용 변수는 "set"을 사용하고, 다른 스크립트/프로그램에서 참조할  변수는 "setenv"를 사용합니다. 

- set variable_name = variable_value  (해제: unset variable_name)

- set variable_name = (value1 value2 value3 … valuen)

 

* 명령 결과를 다른 명령의 일부분으로 사용하는 것도 가능 " ` " 을 사용

  1 #!/bin/csh
  2
  3 # 공백이 포함되지 않은 한 단어는 단독으로 작성
  4 set name    = lee
  5 set age     = 28
  6 set LogFile = /tmp/log.txt
  7
  8 # 공백을 포함한 여러 단어는 큰 따옴표를 사용하여 작성
  9 set test_string = "hi hello world"
 10
 11 # 여러 개의 변수를 저장하는 "집합 변수"는 괄호를 사용하여 작성
 12 set test_set = (in1 in2 in3 in4)
 13 
 14 
 15 echo $name
 16 echo $LogFile     # 변수 참조
 17
 18 echo $test_set
 19 echo $test_set[0] # 집합 원소 변수 참조
 20 echo $test_set[1]
 21 echo ${test_set}1
 22
 23 # 변수 내 단어 개수 반환
 24 echo $#test_set
 25
 26 # 변수 존재 여부 반환 (1/0) & 변수 해제
 27 echo $?name 
 28 unset name
 29 echo $?name
 30
 31 # 파일 경로 이름 지시자 
 32 set cf = /usr/bin/test.c
 33 echo $cf:r
 34 echo $cf:h
 35 echo $cf:t
 36 echo $cf:e
 37
 38 #Option  | Meaning     | Command        | Result
 39 #------- | ----------- | -------------- | ---------------
 40 #r       | root        | echo $cf:r     | /usr/bin/test
 41 #h       | header      | echo $cf:h     | /usr/bin
 42 #t       | tail        | echo $cf:t     | test.c
 43 #e       | extension   | echo $cf:e     | c
 44
 45 # 명령어를 통한 초기화 (`) 
 46 set  date=`date`
 47 echo $date
 48 # 인용과 확장 참고 
 49 set  name=lee
 50 echo $name      # lee
 51 echo ${name}    # lee
 52 echo "$name"    # lee
 53 echo '$name'    # $name
 54 echo "'$name'"  # 'lee'
 55 echo \$name     # $name
 56
 57 # 명령어 
 58 set  ls="ls -al"
 59 eval $ls
 60 $ls
 61 ls              # 그냥 입력하면, 터미널에서 ls 명령어 실행

variable

감사합니다. 

728x90
반응형

'Linux' 카테고리의 다른 글

[Linux] C Shell Script - Operator  (0) 2024.03.26
[Linux] C Shell Script - 사용자 입력, 인자  (0) 2024.03.26
[Linux] Permission  (0) 2024.03.15
[Linux] Pipe  (0) 2024.03.14
[Linux] Redirection  (0) 2024.03.14

let textNodes = document.querySelectorAll("div.tt_article_useless_p_margin.contents_style > *:not(figure):not(pre)"); textNodes.forEach(function(a) { a.innerHTML = a.innerHTML.replace(/`(.*?)`/g, '$1'); });