1. 큰 따옴표는 변수 값으로 치환되고 작은 따옴표는 변수명 자체를 출력

# message="Hello" (등호 사이에 공백이 없어야 함)

# echo "$message"

Hello


# echo '$message'

$message


2. 큰 따옴표 안에 $를 문자로 쓰고 싶으면 \ 를 사용

# echo "\$message = $message"

$message = Hello


3. 큰 따옴표 안에 변수명과 다른 문자를 계속 적을 경우에는 변수명을 {} 로 감쐄

# echo "${message}Word"

HelloWord


4. 큰 따옴표 안에 큰 따옴표를 사용할려면 \를 사용

# echo "Hello \"World\""

Hello "World"


5. 작은 따옴표안에 작은 따옴표는 사용할 수 없으나 다음과 같이 사용은 가능

# echo 'Hello '\''World'\'

Hello 'World'


'Hello ' + \' + 'World' + \' 와 같은 의미임


6. 큰 따옴표 없이 변수만 사용할 때 변수 값에 * ? 등 와일드카드가 있으면 파일명을 표시, 일치하는 파일명이 없으면 그대로 표시

# touch HelloWorld.txt

# message="Hello*"

# echo $message

HelloWorld.txt


# rm HelloWorld.txt

# echo $message

Hello*


7. 조건식

[[ 조건식 ]] 으로 조건 판별

-z 문자열 : 빈문자열

-n 문자열 : 빈문자열 아님

문자열 == 문자열 : 문자열 패턴 일치 (= 도 같은 의미)

문자열 != 문자열 : 문자열 패턴이 일치하지 않음

-e 파일명 : 파일이 존재함

-d 파일명 : 디렉토리

-h 파일명 : 심볼릭 링크

-f 파일명 : 일반 파일

조건1 && 조건2 : 모두 true

조건1 || 조건2 : 둘 중 하나만 true

!조건1 : 조건이 성립하지 않음

true : 언제나 성립

false : 언제나 성립하지 않음

0 : true

0 이외의 값 : false

#! /bin/sh

message="Hello"


if [[ $message == "Hello" ]]; then

echo "Hello World"

fi


8. 커맨드 값

커맨드 리턴값 0 : true

커맨드 리턴값 0 이외의 값 : false

$? : 바로 이전에 실행한 커맨드의 리턴값

if grep "Hello" /tmp/tmp0 >/dev/null 2>&1; then # grep 에 매칭하는 문자가 있으면 0 을 리턴 true

echo "Hello World"

if


grep "Hello" /tmp/tmp0 >/dev/null 2>&1

rc=$?

if [[ $rc -eg 0 ]]; then

echo "Hello World"

if


9. 배열

{} : 배열 참조

{#} : 배열의 갯수

@ : 배열을 나열

$0 : 쉘스크립트 명령어

$1~$9 : 쉘스크립트의 인수 참조

$@ : 쉘스크립트 명령어 포함 모든 인수 나열

shift : 쉘스크립트 인수를 shift 지정한 횟수만큼 shift 한다.

파일명 : params.sh


#! /bin/sh


# fruits[0]="Apple"

# fruits[1]="Grape"

# fruits[2]="Orange"

# echo "${fruits[0]}" "${fruits[1]}" "${fruits[2]}"

Apple Grape Orange


# fruits=( "Apple" "Grape" "Orange" )

# echo "${fruits[0]}" "${fruits[1]}" "${fruits[2]}"

Apple Grape Orange


# echo "${#fruits[@]}"

3

# echo "${fruits[@]}}"

Apple Grape Orange


# echo $0

for item in "$@"; do

echo $item

done


while [[ "$@" != "" ]]; do

echo "$@"

shift

done


10. 커맨드 치환과 수치연상

$() : 커맨드를 출력 결과

$(()) : 수치 연산

# message="sh 의 경로는 $(which sh) 입니다."

# ehco $message

sh 의 경로는 /bin/sh 입니다.


11. 서버 리스트의 free 메모리 보기

파일명 : servers.txt

root@server01.com

root@server02.com

root@server03.com

파일명 : servers.sh

#! /bin/sh


file=$1

shift


while read server; do

ssh -n "$server" "$@" 2>$1 | sed "s/^/$server: /" &

done <"$file"

wait

# ./servers.sh servers.txt free


'Database > Server' 카테고리의 다른 글

리눅스 date 명령 : 어제(과거) , 내일(미래) 날짜, 시간 구하기  (0) 2013.10.11
# ACL (Access Control List)  (0) 2010.06.10
RSH 설정  (0) 2010.06.10
lsvg 명령어  (0) 2010.05.26
RAID 종류 및 설명  (0) 2010.05.20

오늘 퇴근하면서 어린이집에 시후를 데리고 왔다.

원장님이 시키신거 같은데... ㅋㅋ

어린이집 문열자마자 시후가 카네이션을 준다고 바쁘다.. ㅋㅋㅋ

원장님이 애들이랑 오늘 만들었다고 시후가 준 카네이션... 

어버이날을 알까?ㅋㅋㅋㅋㅋ

난 아직 실감이 안나네.. ㅋㅋㅋㅋ


그거들고... 시후가방, 내 가방, 오늘 저녁 장본거... 손에 가득 들고... 집으로 가는길에.. 

시후는 자동차들 본다고 정신없이 뛰어다니고... 

안으라고 하고... ㅠㅠ

아.. 하루가 정신이 없다~ ㅋㅋㅋ

'Story > SiHu' 카테고리의 다른 글

산책가기~  (0) 2014.05.11
아이스크림 짱!!  (0) 2014.05.10
그래도 나가야지.. ;;  (0) 2014.05.06
두번째 어린이날~  (0) 2014.05.05
타요~  (0) 2014.05.03

오늘은 오전부터 밥 먹고 청소하고... 

낼 출근을 해야하니.. 거의 일주일을 쉬었더니.. ㅋㅋㅋ

연휴의 마지막날... ㅋㅋㅋ

청소도 2주나 안하고... ㅋㅋㅋㅋㅋ

머 낭군이 다했음.. 난 티비보고 놈... ;;

요즘 머리도 아프고.. 빈혈 수치가 낮아서.. 좀 어지럽고.. 컨디션이 영... ㅜㅜ


오후에 어두워지기 전에 한번 나간다고 낭군이 시후 자전거 타고 데리고 나갔는데.. 

아파트 근처에 운전 연습장이 있었다고 하더니... 시후랑 한참 보고 온듯.. ㅋㅋㅋ

시후 좋아하는 버스가 연습중이구만. ㅋㅋㅋㅋ

'Story > SiHu' 카테고리의 다른 글

아이스크림 짱!!  (0) 2014.05.10
첫 카네이션~  (0) 2014.05.07
두번째 어린이날~  (0) 2014.05.05
타요~  (0) 2014.05.03
서울랜드~  (0) 2014.05.01

오늘은 어린이날... 

시후의 두번째 어린이날이다.. ㅋㅋ

그래도 어린이날인데.. 집에만 있기도 그렇고.. 

어딜갈까 계속 고민하다가... 어제 춘천 막국수 먹으러.. 4시간 걸린 기억으로... ㅋㅋ

서울 시내에서 놀기로 하고 일산 호수공원... ㅋㅋ

근데... 꽃박람회가 아직도 하고 있을 줄이야... 우린 박람회 관심없는데.. ㅠㅠ

차가 호수공원 다와서.. 주차하는데.. 한시간.. ㅠㅠ

가면서 시후는 레미콘 차 보고 넋 놓고 감.. ㅋㅋㅋ

생각보다 시간도 많이 걸리고 사람도 무지 많고.. ㅠㅠ

낭군 출출하다고 해서 머 좀 사온다고 가고... ㅋㅋㅋ

우린 돗자리 깔고 기다리는데.. 시후.. 새우깡 보더니.. 흡입.. ;; 짠데.. ㅠㅠ

한입에 3개씩 넣고 맛있다고.. ㅠㅠ


시후 자전거 끌고.. 2,3시간 돌아다니다가 집으로 감... 

아.... 난 녹초... ㅠㅠ


너무너무 피곤해.. .아흑... ;;

'Story > SiHu' 카테고리의 다른 글

첫 카네이션~  (0) 2014.05.07
그래도 나가야지.. ;;  (0) 2014.05.06
타요~  (0) 2014.05.03
서울랜드~  (0) 2014.05.01
놀아주세요~  (0) 2014.04.28

+ Recent posts