Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- threejs
- 주식
- game
- loopback
- kubernetes
- 탈중앙화
- 거래
- strongloop
- 투자
- 암호화폐
- 이더리움
- 부동산
- 보안
- 젤다 왕눈
- ps4
- angular
- 비트코인
- Linux
- 시장
- 리뷰
- 블록체인
- 게임
- PC
- Games
- Three
- 스마트 계약
- 쿠버네티스
- review
- 스마트 컨트랙트
- Docker
Archives
- Today
- Total
BaeBox
함수 사용법 본문
반응형
다른 언어에서와 마찬가지로 함수를 선언, 정의하고 호출하여 사용한다.
#!/bin/bash
func1() {
read -p "Enter a value: " value
echo "doubling a value"
return $[ $value * 2 ]
}
func1
echo "$value"
echo "The new value is $?"
다른 언어들과의 차이점은 리턴값을 받을 변수가 정해져 있다는 점($?)이다.
함수에 인자를 넘겨주고 싶을 경우 아래와 같이 사용할 수 있다.
#!/bin/bash
function arraydblr {
local origarry
local newarray
local elements
local i
origarray=($echo "$@")
newarray=($(echo "$@"))
elements=$[ $# - 1 ]
# echo "================="
# echo origarray ${origarray[*]}
# echo newarray ${newarray[*]}
# echo elements $elements
# echo $@ $#
# echo "================="
for (( i = 0; i<= $elements; i++ )) {
newarray[$i]=$[ ${origarray[$i]} * 2 ]
}
echo ${newarray[*]}
}
myarray=(1 2 3 4 5)
echo "The original array is: ${myarray[*]}"
arg1=$(echo ${myarray[*]})
result=($(arraydblr $arg1))
echo "The enw array is: ${result[*]}"
result=($(arraydblr $arg1)) 를 보면 arg1을 인자로 넘겨준 것을 알 수 있다.
이 경우 주의하여야 할 것은 하나의 인자를 넘긴 것이 아니라 배열의 크기만큼의 인자를 넘긴 것이 된다. 크기가 5인 배열이므로, 다섯 개의 인자를 넘긴 것으로 볼 수 있다. (함수 내에서 $1, $2, $3, $4, $5 를 찍어보면 확인할 수 있다.)
변수 | 의미 |
$@ | 넘겨받은 전체 인자(param) 값 |
$# | 넘겨받은 인자(param) 갯수 |
$1, $2, $3, ... , $n | 넘겨받은 n번째 순번의 인자(param) |
함수 출처 : 리눅스 커맨드라인 쉘 스크립트 바이블.
반응형
'개발 관련 > LInux' 카테고리의 다른 글
cron 가라로 돌리기. (0) | 2020.07.08 |
---|---|
쉘 스크립트 옵션 (0) | 2020.07.08 |
Sudoers (0) | 2020.01.20 |
Parted ( 파티션 나누기) (0) | 2020.01.15 |
SCP : UNPROTECTED PRIVATE KEY FILE! (0) | 2019.11.26 |
Comments