쉘이란?

shell은 사용자와 리눅스 사이의 인터페이스를 제공하는 프로그램이다.

리눅스 기본 쉘은 /bin/sh 에 존재한다.

로그인 쉘

사용자가 로그인할 때 실행되는 쉘로서 /etc/passwd 에 로그인 쉘 등록된다.

root:x:0:0:root:/root:/bin/bash

사용자명 : 패스워드 : 사용자 계정 uid : 사용자 계정 gid : 이름 : 홈 디렉토리 : 사용자 계쩡 로그인 쉘

변수

  • Linux 는 대소문자를 구분한다. 모든 변수는 String으로 표현한다.

  • 변수 값 정의는 "="을 사용하며 앞뒤에 공백문자 사용을 금지한다.

  • 변수 값 접근은 변수명 앞에 '$'을 사용한다.

  • 사용자 입력 값을 변수에 할당할 때는 read를 사용한다.

$ read n
5
$ echo $n
5

문법을 알아보자

if

#!/bin/sh
 
read timeofday
 
if [ $timeofday = "yes" ]
then
  echo "Good morning"
elif [ $timeofday = "no"]
then
  echo "Good afternoon"
else
  echo "so so"
fi
 
exit 0

for

#!/bin/sh
 
for foo in bar fud 43
do
  echo $foo
done
 
exit 0

while

#!/bin/sh
 
read trythis
 
while [ "$trythis" != "secret" ]
do
  echo "Sorry, try again"
  read trythis
done
 
exit 0

until

조건이 만족될 때까지 실행 금지. 적어도 한번은 실행

#!/bin/sh
 
until who | grep "$1" > /dev/null
do
  sleep 60
done
 
echo -e '\a'
echo "**** $1 has just logged in ****"
 
exit 0

case

#!/bin/sh
 
read timeofday
 
case "$timeofday" in
  yes) echo "Good morning";;
  no ) echo "Good Afternoon";;
  y ) echo "Good Morning";;
  n ) echo "Good Afternoon";;
  * ) echo "Sorry"
esac
 
exit 0

List

#!/bin/sh
 
touch file_one
 
if [ -f file_one ] && echo "hello"
then
  echo "in if"
else
  echo "in else"
fi
 
exit 0

출력화면

hello
in if

function

#!/bin/sh
 
foo() {
  echo "Function foo is executing"
}
 
echo "scriipt starting"
foo()
echo "script ended"
 
exit 0


'Operator System > Linux' 카테고리의 다른 글

라이브러리 함수와 시스템 콜 차이  (0) 2017.10.26
프로세스와 생성방법  (0) 2017.10.26
Make  (0) 2017.10.26
파일  (0) 2017.10.26
Compile과 라이브러리  (0) 2017.10.26

+ Recent posts