본문 바로가기
🌐OS/Linux

[Linux] Shell 프로그램

by inbeom 2023. 8. 27.
728x90

**셸 스크립트(Shell script)**는 셸 프로그래밍 언어를 사용하여 작성된 스크립트입니다. 셸 스크립트는 셸에서 실행되는 일련의 명령어들을 포함하고 있으며, 여러 명령어를 순차적으로 실행하거나 제어 구문을 사용하여 조건부로 실행할 수 있습니다.

 

#쉘 프로그램 (https://wikidocs.net/24935) 참고

  • 쉘 스크립트(명령)를 이용해 명령어를 작성하여 커널에 전달. (*.bat, 프로그램명.sh ~)
  • 쉘스크립트 첫 줄의 '#!'는 실행프로그램으로 사용한다는 것을 알려주는 명령 (#!/bin/bash) ftype = 'date'는 date란 문자열을 ftype변수로 넣는거고, ftype = date는 date의 실행 결과를 ftype변수에 넣는다.
  • #은 주석, echo는 출력 (변수 출력은 $를 붙임 > echo $a)

 

쉘 파일 실행 [./basic.sh hi yes] echo $0 echo $# echo $$ echo $1

  • $0 : 실행된 쉘스크립트 이름
  • $# : 스크립트에 넘겨진 인자의 개수
  • $$ : 쉘스크립트의 PID
  • $1 : 1번째 인자값

 

환경 변수

  • env (환경변수 확인)
  • export a="hello world" (환경변수 세팅)
  • echo $a (환경변수 값 출력)
  • echo $(func) (함수 실행 결과 출력)

 

쉘 스크립트 파일

  • chmod 777 [파일명] 으로 실행권한 부여
  • ./[파일명] 으로 실행

while문 반복출력 [basic2.sh] #!/bin/bash COUNTER=0 while [ $COUNTER -lt 10 ]; do echo The counter is $COUNTER let COUNTER=COUNTER+1 done

날짜, 시간 출력 [datetest.sh] Year=date +%Y Month=date +%m Day=date +%d Hour=date +%H Minute=date +%M Second=date +%S echo date echo "Current Date is: $Day-$Month-$Year" ehco "Current Time is: $Hour:$Minute:$Second"

함수를 이용하여 이름 출력 [functest.sh] #!/bin/bash function greeting() { str="Hello, $name" echo $str } echo "Enter your name" read name val=$(greeting) echo "Return value of the function is $val"

 

httpd서비스에서 실행중인 프로세스 출력

  • pgrep -x httpd
  • pgrep -x httpd | wc -l (프로세스 개수만)

 

Swap파일의 여유 크기

  • awk '/SwapFree/ {print $2}' /proc/meminfo

cat /proc/meminfo |grep SwapFree

cat /proc/meminfo |grep MemTotal

cat /proc/meminfo |grep MemFree

728x90

'🌐OS > Linux' 카테고리의 다른 글

[Linux] 모니터링  (0) 2023.08.27
[Linux] 백업 / 복구  (0) 2023.08.27
[Linux] Cron 스케줄러  (0) 2023.08.27
[Linux] FTP 접속  (0) 2023.08.27
[Linux] 데이터베이스 사용  (0) 2023.08.27