Perl 스크립트를 실행할 때pdfannotextractor.pl
Bash에서는 스크립트에 필요한 변수 값을 설정 TEXMFVAR
하고 이를 스크립트에 전달하고 싶습니다.
나는 그것을 봤고 해결책을 찾은 것 같습니다.
$ TEXMFVAR=/usr/local/texlive/2014/texmf-var sudo /usr/local/texlive/2014/texmf-dist/scripts/pax/pdfannotextractor.pl --install
TEXMFVAR
$TEXMFVAR
하지만 현재 디렉토리 아래에 디렉토리를 생성하기 때문에 스크립트에서는 여전히 비어 있는 것 같습니다 . 혼란스러워요.
$ ls \$TEXMFVAR/*
$TEXMFVAR/ls-R
$TEXMFVAR/scripts:
pax
변수가 필요 합니까 export
?
환경변수 사용에 문제가 있나요?
참고: 내 원래 질문은 texlive에 관한 것이었습니다. 여기https://tex.stackexchange.com/questions/243889/error-installing-pdfbox-library-for-pax-package
답변1
sudo
잠재적으로 유해한 변수가 수퍼유저로 실행되는 프로세스에 전달되지 않도록 환경을 정리합니다. sudo -E
또는 --preserve-env
플래그를 사용하여 이 동작을 변경할 수 있습니다.
답변2
sudo를 사용하면 다음 형식으로 명령에 대한 변수를 설정할 수 있습니다 var=value
.
sudo TEXMFVAR=/usr/local/texlive/2014/texmf-var \
/usr/local/texlive/2014/texmf-dist/scripts/pax/pdfannotextractor.pl --install
-E
보안상의 이유로 옵션은 LD_LIBRARY_LOAD
또는 같은 특정 변수에서는 작동하지 않습니다.LD_PRELOAD
답변3
어떤 이유로 sudo가 cuonglm을 기반으로 "직접" 지정된 환경 변수를 거부하는 경우(아마도 정책상의 이유로) env
이를 사용할 sudo 정책이 있다고 가정하고 ...를 사용할 수 있습니다.
sudo env TEXMFVAR=/usr/local/texlive/2014/texmf-var /usr/local/texlive/2014/texmf-dist/scripts/pax/pdfannotextractor.pl --install