반응형

unix 30

쉘 스크립트(Shell Script) 제어문 - if 문

if 문 주어진 조건을 만족할 때만 명령을 실행 if ~ then ~ else 문 if 다음에 주어진 조건 명령을 실행하여 종료값이 0이면 then 다음의 명령을 실행 0이 아니면 else 다음의 명령을 실행 조건 명령에 연산식이 올 경우 계산 결과 값이 0이면 종료값은 1 계산 결과 값이 0이 아니면 종료값은 0 else문은 생략할 수 있음 형식 if 조건 명령 then 명령 [ else 명령 ] fi 스크립트의 예 $ cat –n test_if 1 #!/bin/bash 2 # 3 # if test 4 # 5 6 echo “Input x :” 7 read x 8 echo “Inpt y :” 9 read y 10 11 if (( x= 90 )) 10 then 11 echo “Your score is gr..

쉘 스크립트(Shell Script) 연산자

연산자 연산자는 프로그램에서 자료를 다양하게 처리하는 방법을 제공 배시 쉘은 산술 연산자, 비교 연산자, 논리 연산자, 비트 연산자 등 일반 프로그래밍 언어에서 제공하는 것과 유사한 연산자를 제공 배시 쉘에서 수치 연산자 사용할 때는 let 내장 명령이나 (( ))를 사용 비트 시프트 연산자는 here 문서의 «와 구분하기 위해 반드시 (( )) 사이에 기술하여야 함 (( )) 안에서는 저장 연산자(=) 좌우에 공백이 있어도 괜찮지만, let을 쓸 때 공백이 포함되면 “ ”로 묶어야 함 위 표에서 위로 갈수록 우선순위가 높고, 아래로 갈수록 우선순위가 낮음 $ a=5 $ echo $a 5 $ let a = 20 -bash: let: =: syntax error: operand expected (error..

쉘 스크립트(Shell Script) 문법 - 사용자로부터 입력 받기

사용자로부터 입력 받기 : read read 명령은 쉘 내장 명령 터미널이나 파일로부터 입력을 받아 들임 $ cat –n test_read 1 #!/bin/bash 2 # 3 # read user input 4 # 5 6 read x 7 echo “x : $x” 8 9 read x y 10 echo “x : $x” 11 echo “y : $y” 12 13 read –p “Input : ” 14 echo “input : $REPLY” $ 실행 결과 $ chmod +x test_read $ ./test_read 100 x : 100 100 200 300 x : 100 y : 200 300 Input : 100 200 300 400 input : 100 200 300 400 $ here 문서를 통한 입력 받기..

유닉스/unix 쉘 스크립트(Shell Script) 변수 사용하기

쉘 스크립트(Shell Script) 변수 쉘 변수 : 지역 변수, 환경 변수 “변수명=값” 형태로 정의와 동시에 값을 저장 -, =, +, ?에 콜론을 붙이면 변수에 값이 정의되어 있거나 널 값으로 설정되어 있는 지 확인 콜론을 사용하지 않으면 널 값으로 정의된 변수도 설정된 것으로 간주 test는 값이 정의되어 있으므로 정의된 값을 출력 test1은 값이 정의되어 있지 않으므로 word 값을 출력 $ test=unix $ echo $test unix $ echo ${test:-word} unix $ echo ${test1=-word} word $ test는 값이 정의되어 있으므로 대체되지 않고 정의된 값을 출력 test1은 값이 정의되어 있지 않으므로 주어진 linux라는 값으로 대체됨 $ echo ..

유닉스/unix 쉘 스크립트(Shell Script)

쉘 스크립트(Shell Script) 스크립트 : “영화나 방송의 대본과 각본 따위의 방송 원고” 컴퓨터 소프트웨어 : 컴파일 언어, 스크립트 언어 컴파일 언어 : 프로그램 작성 –> 컴파일 –> 실행 파일 만들기 스크립트 언어 : 인터프리터에 의해 실행됨 언어 구조가 쉬워 빨리 배울 수 있음 용도에 따라 제한이 있고, 다른 프로그램을 거쳐야 하기 때문에 실행 시간이 오래 걸림 쉘 스크립트 만들기 테스트용 쉘 스크립트 $ vi test_script $ cat test_script #!/bin/bash # This is a test script program. echo “Hello, World~!” pwd $ 쉘 스크립트에 이름 붙이기 유닉스 명령 규칙에 따라 스크립트 파일에 이름 붙임 스크립트 기능을 알..

[유닉스/unix] 쉘(Shell) 환경 설정

쉘(Shell) 명령 앨리어스(alias : 별칭, 별명) 명령어에 정의한 다른 이름 긴 명령어 대신 짧은 명령어를 만들어 사용할 수 있음 여러 명령어를 하나의 명령어로 만들 수 있음 원래 명령어를 수정해 사용할 수 있음 자주 사용하는 옵션을 자동으로 수행되도록 할 수 있음 형식 : alias 별칭=‘명령’ 사용 예 alias : 현재 설정된 별칭 목록 출력 alias 이름=‘명령’ : 명령을 수정해 사용하는 경우 alias 이름=‘명령;명령2;……’ : 여러 명령을 하나의 이름으로 사용 $ alias alias l=’ls –CF’ alias la=’ls –A’ alias ll=’ls –alF’ ...... $ alias 설정 별칭과 =, =과 명령 사이에 공백이 있으면 안 됨 명령에 공백이 있으면 작은..

[유닉스/unix] 쉘(Shell) 기본 사용법

쉘(Shell) 기본 사용법 문자열의 출력 유닉스 명령은 유닉스 시스템이 제공하는 유틸리티 명령과 쉘이 제공하는 명령으로 나눔 쉘 명령은 쉘이 자체적으로 제공하는 명령 디렉토리 변경에 사용되는 cd가 대표적 문자열 출력 명령 : echo echo는 쉘 명령과 유틸리티 명령 모두에서 제공됨 /bin/echo와 같이 경로를 지정하여 실행하면 유틸리티 명령 실행 경로 없이 실행하면 쉘 내장 명령 실행 $ echo test test $ /bin/echo test test $ 쉘 특수 문자 쉘은 사용자가 명령을 더 편리하게 입력하고 실행할 수 있도록 특수 문자를 제공, 사용법은 모든 쉘에서 거의 비슷함 특수 문자(Metacharacter)는 쉘에서 특수한 의미를 가진 문자들로 특수 기능을 수행 사용자가 입력한 명..

[유닉스/unix] 쉘(Shell)의 기능 및 종류

쉘(Shell) 사용자와 커널을 연결시켜주는 기능을 수행하는 특별한 프로그램 사용자가 입력한 명령을 처리하고 실행 결과를 알려주는 기능 세 가지 기능 : 명령어 해석기, 프로그래밍, 사용자 환경 설정 명령어 해석기 기능 사용자와 커널 사이에서 명령을 해석하여 전달하는 해석기(Interpreter) 또는 번역기(Translator) 역할 수행 사용자가 입력한 명령이나 파일에서 읽어들인 명령을 해석하고 적절한 프로그램을 실행시킴 로그인 쉘 : 사용자가 로그인하면 쉘은 자동으로 실행되어 사용자가 명령 입력하기를 기다림. /etc/passwd 파일에 사용자별로 지정되어 있음 사용자 명령을 기다리고 있음의 표시가 프롬프트 프로그래밍 기능 쉘 자체에서 프로그램 작성 가능 여러 명령을 사용해 반복적으로 수행하는 작업..

[유닉스] 파일 덤프 [ dd (data duplicate) ]

dd (data duplicate) 입력한 내용을 변환하여 출력 형식 : dd [옵션] [if=입력파일] [of=출력파일] 옵션 bs=n : 입출력 블록의 크기를 n 바이트로 지정 (기본 1블록 = 512바이트) conv=lcase : 알파벳을 소문자로 변환 conv=ucase : 알파벳을 대문자로 변환 사용 예 dd bs=2 if=/dev/null of=test dd conv=lcase if=test1 of=test2 대소문자 전환하기 변환 형식 옵션의 값을 lcase로 주면 test_cut 파일 내용을 소문자로 변환 $ dd conv=lcase if=test_cut of=test_dd1 0+1 records in 0+1 records out 146 bytes (146 B) copied, 0.01320..

[유닉스] 파일 연결하기 ( paste )

paste 파일의 내용을 결합 형식 : paste [옵션] 파일1 파일2 옵션 -s :수평으로 붙임 -d 문자 : 필드 구분자를 지정 : 파일 대신 표준 입력 사용 사용 예 : paste test1 test2 > res, paste –s test1 test2 파일 붙이기 예제 파일 만들기 $ cut –f 1 test_cut > test_paste1 $ cut –f 2,3 test_cut > test_paste2 $ cat test_paste1 001 002 003 004 005 006 007 $ cat test_paste2 Hong Gil-Dong Park Ji-Sung Cha Doo-Ri Park Chan-Ho Kim Yun-A Bae Sue-Ji Han So-Ri $ 옵션 없이 두 파일을 붙이면 앞의..

반응형