이 문서에서는 기능을 사용하는 방법을 설명합니다. Bash 스크립트에서 – 코드를 재사용하고 스크립트를 단순화하는 데 도움이 됩니다.
코드를 한 번 작성하고 재사용할 수 있는데 왜 여러 번 작성합니까?
바로 이것이 기능입니다. 할 수 있습니다.
이 도움말에서는 Bash/Shell 스크립트에서 함수를 사용하는 방법을 설명합니다.
함수란 무엇입니까?
함수 재사용 가능한 코드 조각입니다. 함수는 매개변수를 받아들일 수 있으므로 다른 입력에 대해 동일한 반복 가능한 작업을 수행할 수 있습니다.
함수는 일반적으로 모든 작업을 수행하거나 결과를 출력 또는 인쇄하거나 나중에 사용할 수 있도록 값을 반환합니다.
함수를 사용하는 이유
예를 들어, 어떤 일이 발생했다는 이메일 알림을 보내는 스크립트가 있을 수 있습니다. 여러 수신자에게 서로 다른 여러 이메일을 보내려면 스크립트에 동일한 이메일 전송 코드를 여러 번 작성하여 메시지를 보낼 수 있습니다.
함수를 사용하면 이 코드를 한 번만 작성한 다음 중복 코드가 아닌 한 줄 함수 호출로 다른 수신자, 제목 및 메시지로 호출할 수 있습니다.
배시 함수 구문
Bash/Shell 스크립트에서 함수를 작성하는 구문은 다음과 같습니다.
name_of_function () { # COMMANDS # Optional return value }
참고:
- name_of_function
- 을 사용하여 함수를 호출할 수 있는 이름입니다.
- 영숫자 및 밑줄만 가능!
- 함수 이름 뒤에는 ()이 와야 합니다. (표준 괄호)
- 대괄호 주위의 공백에 유의하세요! 필수입니다!
- 함수를 실행하려는 코드는 {}로 래핑되어야 합니다. (중괄호)
- 이 중괄호 외부의 코드는 함수의 일부가 아니며 실행되지 않습니다.
- 명령 일반적으로 Linux 시스템에서 사용할 수 있는 모든 명령이 될 수 있습니다.
- 선택적으로 반환할 수 있습니다. 값 – 사용법
- 에 대한 아래 예를 참조하십시오.
- 기능을 일찍 종료하려면 return을 호출할 수도 있습니다. 함수를 종료할 값이 없음
- 특별한 $? 변수는 마지막으로 실행된 명령에서 반환된 값을 보유하므로 함수가 실행된 후 스크립트의 다른 곳에서 사용할 수 있습니다.
예시 및 설명
다음은 모든 다른 Bash 함수 요소를 설명하는 예입니다. 모든 작업을 설명하는 주석이 있습니다.
#!/bin/bash # Define a global variable - available anywhere in the script as it is not defined inside a function or loop initial_value=3 # Define a function which does some mathematics my_math_function () { # Get the parameters passed to the function # Parameters are passed after the function name when calling the function, and will be named in order of appearance, starting with $1, then $2, etc # Below, these parameter values are assigned to local variables - available only inside the function - so that it's easier to tell what they are local multiplier_value=$1 local addition_value=$2 # Calculate the result and assign it to a local variable # Notice the $(( )) wrapping the calculations - this tells the script to assign the result of these calculations to the results variable, rather than assigning the calculations as a text value local result=$(( $initial_value * $multiplier_value + $addition_value )) # Print the result to the console # Depending on how the function is used, text output from the function can be used to read results from it echo $result # It is also possible to get output from the function using a return value return $result } # Call the function with different input parameters # Parameters are passed to the function by typing them after the function separated by a space # The function above expects two parameters - a multiplier_value and addition_value my_math_function 2 4 # Will output 10 (2 * 3 + 4) my_math_function 3 5 # Will output 14 (3 * 3 + 5) # The $? is a special variable in Bash scripts which always holds the return value from the last executed command # It can be used to get the value specified as the return value from the function. echo $? # Will output 14 # Assign the result of the function to a variable # This will assign any text outputted by the function (for example using the echo command) to a variable my_result=$(my_math_function 6 7) echo $my_result # Will output 25 (6 * 3 + 7)
Linux Shell Scripts의 '#!'는 무엇입니까?
쉘 스크립트에 값을 전달하고 싶으십니까(그러면 이를 함수에 전달할 수 있음)? 이 기사를 확인하십시오.