C Shell , C 쉘 이란?
C 셸(C shell)은 Unix 및 Unix-like 운영체제(리눅스같은...)에서 사용되는 명령 줄 인터페이스(CLI) 셸입니다.
Shell 은 사용자와 운영체제 사이에서 상호 작용하는 인터페이스 역할을 합니다.
인터페이스란 유저와 컴퓨터간의 소통공간 명령을 주고 받고하는... 윈도우 cmd 같은?
(*BSD : BSD(Berkeley Software Distribution)는 Unix 운영체제의 하나인 Unix 계열 운영체제)
C 셸은 주로 BSD 계열의 Unix 시스템에서 사용되며, C 언어와 유사한 문법을 가지고 있습니다.
C 셸은 명령어 실행, 환경 변수 설정, 스크립트 작성 등 다양한 작업을 수행할 수 있습니다.
C 셸은 다른 셸과 비교하여 독특한 특징
변수를 할당할 때 set 키워드를 사용하고,
배열을 사용할 때는 대괄호 [ ]를 사용합니다.
명령어 치환을 위해 역따옴표 또는 $()를 사용할 수 있습니다.
1. 단일 변수 할당
변수 할당 방법 set variable_name = value
set name = "John"
2. 배열 변수 할당 및 Index 값 사용
배열 변수에 값 할당. set array_name = (value1 value2 value3)
set numbers = (1 2 3 4 5)
배열값을 사용하여 새로운 변수에 할당.
위 numbers 배열에서 3을 빼서 num 변수에 할당하고 싶을때 아래와 같이 indexing 한다. (index는 1부터 시작한다)
set num = $numbers[3]
3. 명령어 치환하기
C 셸에서 명령어 치환을 위해 역따옴표 ` ` 또는 $()를 사용할 수 있습니다. 이를 사용하면 명령어의 결과를 변수에 할당하거나 다른 명령어에서 사용할 수 있습니다.
set result = `command`
set result = $(command)
* C 셸에서 변수를 선언하고 값을 할당할 때에는 set 키워드를 사용하지 않아도 됩니다.
변수명만 지정하고 할당 연산자 =를 사용하여 값을 할당하면 됩니다.
따라서, current_date 변수를 선언하고 값을 할당할 때에는 set 키워드를 사용하지 않습니다.
예1)
# (내장 날짜 명령) date가 실행되어 current_date 변수에 할당 됨
current_date=`date`
# Today's date is: 2023-06-08 이런식으로 출력 됨. 즉 문자열 내 $()를 이용해 변수 사용 가능.
echo "Today's date is: $(date)"
예2)
# result에다 내장 명령 ls -l 를 실행시켜 저장.
result=$(ls -l)
# cat으로 file.txt 텍스트파일을 읽고, 파이프를 사용하여 추가 명령으로 wc -l (라인수 계산)을 내림
# 그리고 그 결과값(숫자)를 line_count에 할당 함.
line_count=$(cat file.txt | wc -l)
(윈도우에서 기본적으로 Linux Shell을 쓸 수 없다. 아래와 같이 윈도우10 이상에서는 사용할 수 있게 설정 가능)
https://ansan-survivor.tistory.com/1001