Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

Bash/Shell 스크립트의 변수 및 사용 방법 [자습서]

이 기사에서는 Linux의 Bash 및 Shell 스크립트에서 변수를 사용하는 방법을 보여줍니다.

배시 (또는 Linux Shell) 스크립트는 일반적인 작업을 자동화하고 시간을 절약하기 위한 명령이 포함된 작성 파일입니다.

변수 나중에 사용하기 위해 값을 보유하는 스크립트의 항목입니다. 숫자, 파일 이름, 기타 등등입니다.

Linux Shell 스크립트에서 변수를 정의하고 사용하는 방법은 다음과 같습니다. 이러한 예시는 가장 널리 사용되는 Linux Shell, Bash 및 Zsh에서 작동해야 합니다.

Bash 변수 선언

Bash 변수는 기본적으로 유형이 지정되지 않습니다. 말할 수 없습니다. 변수로 무엇을 할 수 있는지 – 암시되어 있습니다.

기본적으로 모든 변수는 문자열로 저장되고 사용될 때 컨텍스트에 따라 처리됩니다. 문자열에 숫자가 포함된 경우 숫자를 사용하여 증가시키려고 하면 1로 처리됩니다.

아래에는 여러 변수가 선언되어 있습니다. MY_STRINGMY_FILE_PATH, 및 MY_NUMBER . 모두 유형이 지정되지 않은 변수입니다.

#!/bin/bash          

MY_STRING="Hello Linux!"
MY_FILE_PATH=/path/to/my/file.txt
MY_NUMBER=4

#!

에 대해 알아보려면 여기를 클릭하세요.

'선언' 명령 구문

참고 선언 Bash에만 해당됩니다. 다른 쉘을 사용하는 경우 존재하지 않을 수 있습니다.

선언 구문 다음과 같습니다:

declare OPTIONS variable_name=variable_value

참고:

  • 옵션 선택 사항이며 아래 표에서 선택하여 변수의 유형 또는 동작을 설정할 수 있습니다.
  • 변수 이름 정의/선언하려는 변수의 이름입니다.
  • 변수 값 해당 변수의 값입니다.
<일>
선언 옵션 의미
-r 읽기 전용 읽기 전용 변수 선언
-i 정수 정수 변수 선언
-a 배열 배열인 변수 선언
-f 기능 함수인 변수 선언
-x 내보내기 스크립트 외부로 내보낼 수 있는 변수 선언

'declare' 명령어 예시

여기에 문자열 변수가 선언됩니다(즉, OPTIONS 제공됨) 다음에 정수 변수가 옵니다.

#!/bin/bash   

declare MY_STRING="Hello Linux!"
declare -i MY_NUMBER=4

이제 MY_STRING 변수의 값을 MY_NUMBER 값에 할당하려고 하면 문자열이 숫자로 평가되지 않기 때문에 MY NUMBER가 0으로 설정됩니다.

선언 기본 입력 기능만 제공하므로 실제로 신뢰할 수 있는 것은 아니지만 변수가 특정 유형의 값만 보유할 수 있도록 하는 데 유용할 수 있습니다.

Bash 변수 사용

변수를 사용하려면 $ 접두사를 사용하세요. (달러 표시). 예:

#!/bin/bash          

MY_STRING="Hello Linux!"
MY_FILE_PATH=/path/to/my/file.txt
MY_NUMBER=4

echo $MY_STRING # Prints the string variable
touch $MY_FILE_PATH # Create or update the file at the given path
MY_NUMBER=$(($MY_NUMBER+1)) # Increment MY_NUMBER by evaluating a mathmatical formula

터치 사용에 유의하세요. 위의 스크립트에서 파일을 만들거나 업데이트하는 명령입니다.

이중 대괄호 (()) 사용에 유의하세요. – 이것은 Bash에 그 안에 포함된 명령문을 평가하도록 지시합니다. 그렇지 않으면 MY_NUMBER에 "$MY NUMBER+1" 문자가 포함된 문자열 값이 제공됩니다.

문자열에서 변수 사용

예를 들어 사용자 입력에서 파일 경로를 수집한 경우와 같이 문자열에서 변수 값을 사용해야 하는 경우가 있습니다.

문자열에 변수를 포함시키려면 다른 문자열의 따옴표 안에 변수를 사용하기만 하면 됩니다:

echo "This is my string: $MY_STRING"

로컬 변수

로컬 변수는 변수가 생성된 범위 내, 즉 변수가 정의된 특정 함수 또는 루프 내에서만 사용할 수 있습니다.

#!/bin/bash

function myFunction {
        local MY_STRING="This string is only available here, in this function"
        echo $MY_STRING
}

echo $MY_STRING # Will print nothing, as the variable was defined locally within a function