Shell programming
Jump to navigation
Jump to search
Overview
리눅스 쉘 프로그래밍 정리
Special variables
쉘 프로그램에서는 미리 예약되어 있는 특수 변수들이 있다.
$0 The filename of the current script. $n These variables correspond to the arguments with which a script was invoked. Here n is a positive decimal number corresponding to the position of an argument (the first argument is $1, the second argument is $2, and so on). $# The number of arguments supplied to a script. $* All the arguments are double quoted. If a script receives two arguments, $* is equivalent to $1 $2. $@ All the arguments are individually double quoted. If a script receives two arguments, $@ is equivalent to $1 $2. $? The exit status of the last command executed. $$ The process number of the current shell. For shell scripts, this is the process ID under which they are executing. $! The process number of the last background command
$0 : 현재 실행 중인 스크립트의 filename 을 지칭한다.
$n : 스크립트 실행시, 함께 넘겨진 인자를 순서대로 나타낸다.
$# : 스크립트 실행시, 함께 넘겨진 인자의 갯수를 나타낸다.
$* : 스크립트 실행시, 함께 넘겨진 모든 인자를 나타낸다. 만약 인자가 두개였다면, $* 는 $1 $2 와 같다.
$@ : 스크립트 실행시, 함께 넘겨진 모든 인자를 나타낸다. 만약 인자가 두개였다면, $* 는 $1 $2 와 같다.
$? : 마지막으로 실행한 명령행의 결과값을 나타낸다.
$$ : 현재 실행중인 쉘의 Process ID 를 나타낸다.
$! : 마지막으로 실행한 background command 의 Process ID 를 나타낸다.
Statements
for
<source lang=bash>
- !/bin/sh
for var in A B C do
echo "var is $var"
done </source>
while
while 은 조건이 만족하는 동안 루프를 반복한다. <source lang=bash>
- !/bin/sh
a=0 while [ $a -lt 10 ] do
a=`expr $a + 1` echo $a
done </source>
if
if 는 지정된 조건을 충족할 때만 실행된다. <source lang=bash>
- !/bin/sh
if [ "$#" -gt 0 ] then
echo "There's Beans"
fi
if [ "$1" = "cool" ] then
echo "Cool Beans"
fi </source>
See also
- https://wiki.kldp.org/wiki.php/DocbookSgml/Shell_Programming-TRANS - Shell 프로그래밍의 기본
- http://codewiki.wikidot.com/shell-script:if-else - If / Else Statements (Shell Scripting)
References
<references />