Linux 셸 스 크 립 트 함수 튜 토리 얼
셸 함수 소개
3. 함수 의 정의
4. 셸 에서 함수 사용 예시
셸
1. 컴퓨터 과학 에서 셸 은 속칭 케이스 (핵 과 구별) 라 고 하 는데 '사용자 에 게 조작 인터페이스 를 제공 하 는' 소프트웨어 (명령 해석 기) 를 말한다.그것 은 DOS 의 command. com 과 그 후의 cmd. exe 와 유사 하 다.사용자 명령 을 받 고 프로그램 을 호출 합 니 다.2. 이 동시에 프로그램 설계 언어 이기 도 한다.명령 언어 로 서 사용자 가 입력 한 명령 을 상호작용 적 으로 해석 하고 실행 하거나 미리 설 정 된 일련의 명령 을 자동 으로 해석 하고 실행 합 니 다.프로 그래 밍 언어 로 서 각종 변수 와 파 라 메 터 를 정의 하고 고급 언어 에서 만 가지 고 있 는 제어 구 조 를 많이 제공 합 니 다. 순환 과 가 지 를 포함 합 니 다.3. Shell 은 C 언어 로 작 성 된 프로그램 으로 사용자 가 Linux 를 사용 하 는 다리 입 니 다.셸 은 명령 언어 이자 프로 그래 밍 언어 이다.Shell 은 응용 프로그램 을 말 합 니 다. 이 프로그램 은 인 터 페 이 스 를 제공 하고 사용자 가 이 인 터 페 이 스 를 통 해 운영 체제 의 내부 핵 에 접근 하 는 서 비 스 를 제공 합 니 다.Ken Thompson 의 sh 는 첫 번 째 유 닉 스 셸 이 고 윈도 탐색 기 는 전형 적 인 그래 픽 인터페이스 Shell 이다.
2. 셸 함수 의 소개 Shell 함수 의 본질은 중복 사용 할 수 있 는 스 크 립 트 코드 입 니 다. 이 코드 는 미리 작성 되 었 습 니 다. 지정 한 위치 에 두 고 사용 할 때 바로 찾 으 면 됩 니 다.Shell 의 함 수 는 C + +, 자바, Python, C \ # 등 다른 프로 그래 밍 언어 에서 의 함수 와 유사 하 며 문법 디 테 일 에 만 차이 가 있 습 니 다.
3. 함수 의 정 의 는 하나의 함 수 를 정의 하려 면 다음 과 같은 두 가지 방식 으로 ①
function funcname ()
{
shell commnads
}
②
funcname ()
{
shell commnads
}
4. 셸 에서 함 수 는 예제 로 user 라 고 편집 합 니 다.login. sh 의 스 크 립 트, 내용 은 다음 과 같 습 니 다.
#!/bin/bash
##########################################################
#File Name:user_login.sh
#Version:V1.0
#Created Time:2021-04-27 22:53:52
#Description:
#
# : user_login loginname
##########################################################
function user_login ()
{
if who |grep $1 > /dev/null
then
echo "user $1 is on"
else
echo "user $1 is off"
fi
}
~
실행 결과
[root@control scripts]# source user_login.sh
[root@control scripts]# user_login root
user root is on
[root@control scripts]# user_login admin
user admin is off
[root@control scripts]#
분석: 이 userlogin. sh 스 크 립 트 는 매개 변수 로 들 어 오 는 사용자 이름 이 이 컴퓨터 에 로그 인 되 어 있 는 지 확인 합 니 다.source 명령 을 통 해 함 수 를 파일 에서 읽 을 수 있 습 니 다. 현재 셸 에서 유효 합 니 다. 함 수 는 명령 처럼 호출 이 가능 합 니 다. 파일 뒤의 매개 변 수 를 함수 체 에 전송 하여 사용자 가 온라인 인지 여 부 를 판단 합 니 다.
5. 함수 의 매개 변수 와 반환 값
#!/bin/bash
##########################################################
#File Name:add.sh
#Version:V1.0
#Created Time:2021-04-27 23:10:05
#Description:
##########################################################
add ()
{
let "sum=$1+$2"
return $sum
}
실행 결과
[root@control scripts]# source add.sh
[root@control scripts]# add 3 4
[root@control scripts]# echo $?
7
기타 예시:
#!/bin/bash
##########################################################
#File Name:function.sh
#Version:V1.0
#Created Time:2021-04-27 23:19:51
#Description:
##########################################################
funWithParam(){
echo " $1 !"
echo " $2 !"
echo " $10 !"
echo " ${10} !"
echo " ${11} !"
echo " $# !"
echo " $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73
실행 결과:
[root@control scripts]# ./function.sh
1 !
2 !
10 !
34 !
73 !
11 !
1 2 3 4 5 6 7 8 9 34 73 !
10 번 째 인 자 를 얻 을 수 없습니다. 10 번 째 인 자 를 얻 으 려 면 10 번 째 인 자 를 얻 을 수 없습니다. 10 번 째 인 자 를 얻 으 려 면 10 번 째 인 자 를 얻 을 수 없습니다. 10 번 째 인 자 를 얻 으 려 면 {10} 이 필요 합 니 다.n > = 10 시, 인 자 를 가 져 오 려 면 ${n} 을 사용 해 야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.