Shell programming: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
리눅스 쉘 프로그래밍 정리 | 리눅스 쉘 프로그래밍 정리 | ||
== Special variables == | |||
쉘 프로그램에서는 미리 예약되어 있는 특수 변수들이 있다. | |||
<pre> | |||
$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 | |||
</pre> | |||
'''$0''' : 현재 실행 중인 스크립트의 filename 을 지칭한다. | |||
'''$n''' : 스크립트 실행시, 함께 넘겨진 인자를 순서대로 나타낸다. | |||
'''$#''' : 스크립트 실행시, 함께 넘겨진 인자의 갯수를 나타낸다. | |||
'''$*''' : 스크립트 실행시, 함께 넘겨진 모든 인자를 나타낸다. 만약 인자가 두개였다면, $* 는 $1 $2 와 같다. | |||
'''$@''' : 스크립트 실행시, 함께 넘겨진 모든 인자를 나타낸다. 만약 인자가 두개였다면, $* 는 $1 $2 와 같다. | |||
'''$?''' : 마지막으로 실행한 명령행의 결과값을 나타낸다. | |||
'''$$''' : 현재 실행중인 쉘의 Process ID 를 나타낸다. | |||
'''$!''' : 마지막으로 실행한 background command 의 Process ID 를 나타낸다. | |||
== Statements == | == Statements == | ||
Line 44: | Line 82: | ||
== See also == | == See also == | ||
* https://wiki.kldp.org/wiki.php/DocbookSgml/Shell_Programming-TRANS - Shell 프로그래밍의 기본 | * 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 == |
Revision as of 09:41, 8 September 2015
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 />