launchd에서 환경 변수를 지우는 방법은 무엇입니까?

launchd에서 환경 변수를 지우는 방법은 무엇입니까?

현재 다음 bash 스크립트가 있습니다.

#!/bin/bash
function clear_secrets {
  export bob=""
  export john=""
}
clear_secrets

나는 이 bash 스크립트가 launchd를 통해 1분마다 실행되기를 원합니다. 그러나 Bash 세션에서 이러한 환경 변수를 설정하면 1분 후에도 지워지지 않습니다. 나는 launchd가 다른 세션에서 스크립트를 실행하기 때문에 이것이라고 가정합니다. launchd가 모든 bash 세션에 영향을 미치도록 하는 방법이 있습니까?

명확히 하기 위해 현재 모든 bash 세션에서 매분마다 일부 환경 변수를 지우고 싶습니다. 나는 bash 스크립트를 사용하고 매분마다 bash 스크립트를 시작하려고 시도했습니다. 이 목표를 달성하려면 어떻게 해야 합니까?

답변1

스크립트를 다음과 같이 변경해 보세요.

#!/bin/bash
function clear_secrets {
  export bob=""
  export john=""
}
while true
do
  clear_secrets
  sleep 60
done

그런 다음 /etc/bashrc(또는 시스템의 기본 bashrc가 있는 위치)를 업데이트하여 이 스크립트를 호출하십시오. 그것은 다음과 같습니다:

/usr/local/bin/clear비밀 &

관련 정보