환경 변수가 설정되지 않은 경우 어떻게 기록할 수 있나요? [폐쇄]

환경 변수가 설정되지 않은 경우 어떻게 기록할 수 있나요? [폐쇄]

환경 변수를 확인하고 변수가 설정되지 않은 경우 로그 파일에 기록하는 쉘 스크립트를 어떻게 작성할 수 있습니까?

또한, env 변수가 가리키는 파일명이 존재하지 않는다면 어떻게 생성할 수 있나요?

답변1

환경 변수는 하위 프로세스로 내보낸 변수입니다.
스크립트가 아직 귀하의 요구에 맞게 조정되지 않았습니다. 도움이 될 수 있습니다. 결과를 결정하기 위해 ${var:?word}다음과 같은 구문을 사용합니다 .:

#!/bin/sh

unset=0
null=0

if ! sh -c 'echo ${var?}' >/dev/null 2>/dev/null; then
   unset=1
elif ! sh -c 'echo ${var:?}' >/dev/null 2>/dev/null; then
   null=1
fi

echo "unset = $unset"
echo "null  = $null"

답변2

내가 올바르게 이해했다면

env | grep -q ^$VAR && logger -t varlogger "var is unset"

test -f $VAR || touch $VAR

관련 정보