Linux 쉘 스크립팅 언어는 항상 뜨거운 주제였으며 앞으로도 항상 있을 것입니다. 셸 스크립팅 언어는 마술적이며 다른 언어와 마찬가지로 스크립팅 언어로 프로그램을 수행하기가 매우 쉽습니다. 그러나 우리가 하고 있는 일과 예상되는 결과에 대한 심층적인 지식이 필요합니다.
독자를 위해 작성한 모든 쉘 스크립팅 기사는 마지막 "리눅스 변수에 대한 통찰력"을 포함하여 높이 평가됩니다. 마지막 기사를 새로운 레벨로 확장합니다.
변수 속성
Linux 환경의 각 변수에는 특정 옵션이 있으며 이를 '속성'이라고 합니다. 이 옵션이나 속성은 켜기로 설정할 수 있습니다. 및 끄기 , 상황에 따라 "선언" 명령을 사용하여 필요할 때.
변수 속성의 예는 '-i라는 스위치를 사용하는 것입니다. ' 해당 변수에 대한 정수 속성을 켭니다. 스위치 '-i에 숫자가 아닌 값이 전달되더라도 ' 오류 메시지가 표시되지 않고 '0이 출력됩니다. ' 정수 해석으로. 아래의 예를 보면 더 명확해집니다.
변수 정수 선언, bill =121
[email protected]:~$ declare -i bill=121
가변 청구서의 값을 인쇄합니다.
[email protected]:~$ printf "%d\n" "$bill" 121
변수 값을 문자열로 설정합니다. Bill 변수는 이미 선언되어 있으므로 두 번째로 선언할 필요가 없습니다. 변수의 값을 다음과 같이 변경하십시오.
[email protected]:~$ bill=tecmint
이제 가변 bill의 값을 다시 인쇄하십시오.
[email protected]:~$ printf "%d\n" "$bill" 0
알림 '0 ' 오류 메시지 대신
이미 선언된 변수의 속성을 어떻게 알 수 있습니까?
[email protected]:~$ declare -p bill declare -i bill="121"
여기서 -p (인쇄물을 나타냄) 스위치가 구출됩니다.
변수의 속성을 끄려면 어떻게 해야 하나요?
끄기를 전환하려면 변수의 속성에 필요한 것은 + (플러스 ) 스위치 바로 앞의 기호. 아래의 예를 보면 더 명확해집니다.
스위치 끄기 위의 변수에 대한 정수 속성입니다.
[email protected]:~$ declare +i bill
변수의 값을 확인하세요.
[email protected]:~$ printf "%d\n" "$bill" bash: printf: bill: invalid number 0
이제 스위치 문자열을 사용하여 변수의 값을 인쇄하십시오.
[email protected]:~$ printf "%s\n" "$bill" tecmint
위의 예에서 bash는 숫자가 아닌 값을 오류로 판단할 수 없었지만 printf 숫자가 될 수 있는 것과 될 수 없는 것을 해석하는 것입니다.
읽기 전용 변수
읽기 전용 메모리(ROM ), 하지만 읽기 전용 변수란 무엇입니까? ROM과 유사한 점이 있습니까?
읽기 전용 메모리와 같은 읽기 전용 변수는 한번 할당되면 값을 변경할 수 없는 것입니다. 따라서 읽기 전용이라고 합니다. 해당 변수에 대한 새 값을 작성, 편집 또는 수정할 수 없습니다. 다음은 예시를 사용한 예시입니다.
읽기 전용 선언(-r ) 변수 이름, 값은 "Tecmint.com"입니다.
[email protected]:~$ declare -r name="Tecmint.com"
위에서 선언한 변수의 값을 출력합니다.
[email protected]:~$ printf "%s\n" "$name" Tecmint.com
변수의 값을 변경해 보십시오.
[email protected]:~$ declare -r name="Avishek" bash: declare: name: readonly variable
위에서 논의한 바와 같이 읽기 전용 변수의 속성은 '+를 사용하여 변경할 수 있습니다. ' 기호.
Linux에서 변수 내보내기
쉘 스크립트에 선언된 모든 쉘 변수는 스크립트가 실행될 때까지 사용할 수 있습니다. 스크립트 외부에 스크립트의 변수가 존재하지 않습니다. 스크립트 외부에서 변수를 사용할 수 있도록 하는 프로세스를 변수 내보내기라고 합니다.
declare -x 스위치를 사용하여 셸 외부로 변수를 내보낼 수 있습니다. (내보내기), 내보내려는 셸을 확인합니다. 선언 내보내기 스위치를 다음과 같이 사용할 수 있습니다.
[email protected]:~$ declare -x variable=”Constant_Value”
스크립트가 실행되는 동안 변수에 대한 모든 변경 사항은 변수를 스크립트 외부로 내보낼 때 손실됩니다. 쉘 스크립팅에서 변수 내보내기는 매우 중요합니다.
읽기 전용이고 스크립트 외부에서 사용할 수 있는 변수를 원합니다. -r 스위치를 사용해야 합니다. 스위치 -x 동시에.
[email protected]:~$ declare -rx variable=”Constant_Value”
환경 변수
프로그램과 이를 실행하는 프로그램 간에 공유되는 변수입니다. 환경 변수는 내보낼 수 있지만 속성을 할당할 수는 없습니다.
위의 이론을 실제로 이해합니다. 여기에 두 개의 스크립트 0.sh가 있습니다. 및 1.sh .
# 0.sh #!/bin/bash declare -rx name=Tecmint bash 0.sh exit 0
그리고 두 번째 스크립트는 입니다.
# 1.sh #!/bin/bash printf "%s\n" "$name" name=Tecmint.com printf "%s\n" "$name" exit 0
여기서 무슨 일이 일어나고 있는지는 변수(이름)가 읽기 전용으로 선언되고 내보내지고 두 번째 스크립트가 호출된 직후입니다.
두 번째 스크립트는 첫 번째 printf에서 내보낸 첫 번째 스크립트의 변수를 방금 인쇄했습니다. 성명. 두 번째 printf 문에서 변수 'name에 할당된 새 값을 보여줍니다. '.
변수가 읽기 전용이었으므로 어떻게 재할당할 수 있는지 걱정할 필요가 없습니다. "스크립트가 실행되는 동안 변수에 대한 모든 변경 사항은 변수를 스크립트 외부로 내보낼 때 손실됩니다."를 기억하지 않습니까?
참고자료
선언 명령은 아래의 모든 스위치와 그 조합을 허용합니다.
- -a :배열을 선언합니다.
- -f :표시 기능 및 정의.
- -F :기능 이름을 표시합니다.
- -r :변수를 읽기 전용으로 선언합니다.
- -x :변수를 내보내기 가능으로 선언합니다.
- -나 :변수를 정수로 선언합니다.
지금은 여기까지입니다. 바로 다음 기사에서 우리는 'eval을 사용하여 변수를 대체하는 방법에 대해 논의할 것입니다. ' 명령 및 이 항목을 닫기 전에 bash에 이미 정의된 변수. 사람들이 스크립팅에 대한 심층적인 여정을 즐기고 있기를 바랍니다. 그때까지 계속 지켜봐주시고 Tecmint.com에 접속하세요. .