# 변수 작성후 출력(변수명과 값사이에 =는 공백이 없어야 한다)
#!/bin/bash
item="ice cream"
echo "${item} 구매완료"
# 함수 작성후 호출(function은 생략이 가능하다)
#!/bin/bash
# 다른 언어와 다르게 인수가 있어도 함수괄호 안에는 아무것도 입력하지않음
purchase(){
item=$1
echo "${item}을 장바구니에 넣었습니다"
return 0
}
# main
# 함수 호출
purchase "아이스크림"
result=$? # 함수 호출후 바로 아래에 $?로 함수리턴값을 받을수 있다
# 함수 결과값을 판단
if [ result -eq 0 ]; then
echo "문제없음"
exit 0
else
echo "문제있음"
exit 1
fi
# 프로그램 실행
#!/bin/bash
# 다른프로그램 호출
sh home/user/itemDelete.sh "iceCream"
result=$? # 함수와 마찬가지로 호출후 바로 아래에 $?로 함수리턴값을 받을수 있다
# 함수 결과값을 판단
if [ result -eq 0 ]; then
echo "문제없음"
exit 0
else
echo "문제있음"
exit 1
fi
# 다른유저권한으로 프로그램 실행(외부 프로그램)
#!/bin/bash
# 다른유저로 전환해 해당프로그램을 실행
# 전환한 유저의 환경변수를 이용하는 경우 -를 추가한다
echo "password" | "ID" -c "sh home/user/itemDelete.sh iceCream"
# echo "password" | "ID" - -c "sh home/user/itemDelete.sh iceCream"
result=$? # 호출후 바로 아래에 $?로 함수리턴값을 받을수 있다
# 함수 결과값을 판단
if [ result -eq 0 ]; then
echo "문제없음"
exit 0
else
echo "문제있음"
exit 1
fi
# 다른유저권한으로 프로그램 실행(내부 작성)
#!/bin/bash
purchase(){
item=$1
echo "${item}을 장바구니에 넣었습니다"
return 0
}
# 함수를 환경변수로 내보냄
export -f purchase
# 다른유저로 전환해 해당프로그램을 실행
# -를 넣지않고 환경변수를 유지
echo "password" | "ID" -c "
# 10행에서 내보낸 환경변수 호출
purchase "아이스크림"
result=$? # 함수 호출후 바로 아래에 $?로 함수리턴값을 받을수 있다
# 함수 결과값을 판단
if [ result -eq 0 ]; then
echo "문제없음"
exit 0
else
echo "문제있음"
exit 1
fi
"
result=$? # 호출후 바로 아래에 $?로 함수리턴값을 받을수 있다
# 함수 결과값을 판단
if [ result -eq 0 ]; then
echo "문제없음"
exit 0
else
echo "문제있음"
exit 1
fi
# 함수의 리턴값은 정수만 가능하다(문자열 리턴 불가능)
#!/bin/bash
# 정수값을 반환
purchase(){
item=$1
echo "${item}을 장바구니에 넣었습니다"
return 0 # 대개 0: 정상 1: 오류로 취급한다
}
# 문자열을 반환(에러가 발생)
purchase(){
item=$1
echo "${item}을 장바구니에 넣었습니다"
return "정상"
}
# 문자열을 반환하고 싶을때에는 전역변수에 값을 할당하는 식으로 반환이 가능하다
result=""
purchase(){
item=$1
echo "${item}을 장바구니에 넣었습니다"
result="정상"
return 0
}
'Programming > Shell Script' 카테고리의 다른 글
[Bash] 변수 취급방법 (0) | 2023.07.12 |
---|---|
[Bash] Shell Script 문법 (0) | 2023.07.05 |
[Bash]Shell Script 기초 (0) | 2023.07.04 |