다음 변수를 비교할 수 있는 스크립트가 있습니다.
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 호환성에 대해서는 모르겠습니다.