본문 바로가기

Programming/Linux_Kernel

linxu bash shell script 명령어

참고 사이트 : http://cybercafe.tistory.com/330

http://linuxconfig.org/bash-scripting-tutorial





bash : Bourne-again shell


- bash 의 상태 확인

# env


- shell script 시작

파일 첫 머리에 다음 구문 삽입

#!/bin/bash



- 사칙연산 : let

a=10

b=10


let c=a+b


echo $a+$b=$c                                                                                  --> 출력결과 :  10+10=20


c=$a$b


echo $c                                                                                            --> 출력결과 : 1010


a="10"

b="10"


let c=a+b


echo $a+$b=$c                                                                          --> 출력결과 : 10+10=20


c=$a$b


echo $c                                                                                    --> 출력결과 : 1010




- 길이로 문자열 자르기${var:start:length} 


${var:start:length} 

var : 문자열이 포함된 변수

start : 변수로부터 잘라낼 문자의 시작 번호 (0부터 시작됨)

length : start부터의 잘라낼 문자 갯수. length가 기술되지 않으면 끝까지.


예제 : 

IP="192.168.100.10"


echo "IP : "$IP


echo "12 to 2 : "${IP:12:2}




- 패턴으로 문자열 자르기


${var%pattern}

문자열 변수 var의 끝에서 부터 pattern을 찾아 첫번째로 나타나는 패턴 문자열을 버린다.

 ${var%%pattern}

문자열 변수 var의 끝에서 부터 pattern을 찾아 마지막으로 나타나는 패턴 문자열을 버린다.

 ${var#pattern}

문자열 변수 var의 앞에서부터 pattern을 찾아 첫번째로 나타나는 패턴 문자열을 버린다.

 ${var##pattern}

문자열 변수 var의 앞에서부터 pattern을 찾아 마지막으로 나타나는 패턴 문자열을 버린다. 



and more ... : http://cybercafe.tistory.com/369





날짜 문자열 추가하기


Your backup script and variables:

#!/bin/bash
OF=myhome_directory_$(date +%Y%m%d).tar.gz
tar -czf $OF /home/linuxconfig





파라미터(argument) 처리하기


assing arguments to the bash script

#!/bin/bash
# use predefined variables to access passed arguments
#echo arguments to the shell
echo $1 $2 $3 ' -> echo $1 $2 $3'

# We can also store arguments from bash command line in special array
args=("$@")
#echo arguments to the shell
echo ${args[0]} ${args[1]} ${args[2]} ' -> args=("$@"); echo ${args[0]} ${args[1]} ${args[2]}'

#use $@ to print out all arguments at once
echo $@ ' -> echo $@'

# use $# variable to print out
# number of arguments passed to the bash script
echo Number of arguments passed: $# ' -> echo Number of arguments passed: $#'
/arguments.sh Bash Scripting Tutorial 

















'Programming > Linux_Kernel' 카테고리의 다른 글

x86 inline assembly  (0) 2014.03.24
Lock-free, cas  (0) 2014.03.24
linux 명령어 dd  (0) 2014.03.12
TLB (Translation Lookaside Buffer)  (0) 2014.03.12
ffs, ffsl, ffsll, fls, flsl, flsll 함수 설명  (0) 2014.03.07