1.1 주석 - #
#
#는 주석으로, 쉘은 # 뒤에 있는 코드는 해석하지 않는다. 주로 코드에 대한 설명을 덧붙이기 위해서 사용한다. "#!"는 예외다.
# This line is a comment
echo "A comment will follow". # This is comment
# <------------------------> 여기 까지는 해석 된다.
# <------- 여기서부터 주석이다. -->
심지어 주석은 파이프사이에도 위치할 수 있다.
1.2 세미콜론 - ;
각 명령들은 세미콜론을 이용해서 나눈다. 세미콜론을 이용하면 한 줄에 두개 이상의 명령을 내릴 수 있다. 물론 한 줄에 하나의 명령만을 내린다면 세미콜론을 사용할 필요가 없다.
echo "hello"; echo " world"
if [ -x "$filename" ]; then
echo "File $filename exists."; cp $filename $filename.bak
else
echo "File $filename not found."; touch $filename
fi; echo "File testcomplete."
하지만 가독성이 떨어지기 때문에, 세미콜론으로 한 줄에 여러개의 명령을 내리는 것보다는 줄바꿈을 이용한다.
1.3 ;;
더블 세미콜론은 case 문을 종료하기 위해서 사용한다. (C 언어 같은)다른 언어들의 break 문의 역할을 한다.
case $variable in
abc) echo "$variable is abc";;
xyz) echo "$variable is xyz";;
esac
1.6 '
싱글 쿼터도 더블쿼터와 마찬가지로 쉘 해석기에게 문자열로 해석하라고 알려준다. 더블 쿼터와는 달리 특수문자도 일반 문자로 처리한다.
# echo "My Lang : $LANG"
My Lang : ko_KR.UTF-8
# echo 'My Lang : $LANG'
My Lang : $LANG
1.7 \
\는 싱클쿼터와 같은 효과를 가진다. 싱글쿼터와는 달리 뒤에 오는 문자 하나만 쿼터를 적용한다.
# echo "\$LANG is $LANG"
$LANG is ko_KR.UTF-8
1.8 $
변수를 사용할 것임을 알려준다.
var1=5
var2=23skidoo
echo $var1 # 5
echo $var2 # 23skidoo
변수에 값을 할당 할때는 $를 사용하지 않는다. 변수에서 값을 읽을때 $를 사용한다.
#!/bin/sh
var1=30
echo $var1
var1=`expr $var1 + 30`
echo $var1
1.12 &&
AND 논리 연산자.
[출처 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Bash/AdvancedBashScripting/Chapter03]
[출처 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Bash/AdvancedBashScripting/Chapter03]
'Academy I > Tech Academy' 카테고리의 다른 글
Awk (0) | 2015.02.02 |
---|---|
Regular expression (0) | 2015.02.02 |
assert와 매크로 함수를 이용한 디버깅 정보 얻기 (0) | 2015.01.22 |
Advanced Bash-Scripting - 문자열 (0) | 2015.01.22 |
Advanced Bash-Scripting - 예제 (0) | 2015.01.22 |
crontab command (0) | 2015.01.15 |
sudo 로 root 권한을 얻지 못하는 문제 (0) | 2015.01.14 |
Oracle virtualbox 메뉴, 상태바 숨김/보임 전환 (0) | 2015.01.14 |