Shell 스크립트를 사용하여 두 변수 비교

Shell 스크립트를 사용하여 두 변수 비교

다음 변수를 비교할 수 있는 스크립트가 있습니다.

FT_NBR1=\'?"\"'\
FT_NBR2=rcrdmddd

내 질문은 터미널에서 비교를 수행하기 위해 FT_NBRs 변수를 스크립트에 어떻게 전달합니까?

답변1

셸을 사용하여 변수를 내보낸 다음 스크립트에서 사용할 수 있습니다.

예시 스크립트:

#!/bin/bash --
echo "${test}"

변수를 내보내고 스크립트를 실행합니다.

$ export test=something
$ ./script
something

변수에 값을 할당하려는 방식이 작동하지 않습니다.

FT_NBR1=\'?"\"'\
FT_NBR2=rcrdmddd

FT_NBR2좋지만 FT_NBR1효과가 없습니다. 작은따옴표와 큰따옴표 및 특수 문자 이스케이프를 살펴보세요.

답변2

환경 변수를 스크립트에 전달하고 이전에 변수를 설정할 수 있습니다. 변수는 현재 환경에서 설정되지 않으며 이는 일부 상황에서 유용합니다.

스크립트.sh:

#!/bin/bash
echo "var1: $var1"

그런 다음 사용

$ var1=234 ./script.sh
var1: 123
$ echo "var1: $var1"
var1: 

이것은 bash에서 작동합니다. 일반적인 POSIX 호환성에 대해서는 모르겠습니다.

관련 정보