명령줄에서 셸 변수 내보내기

명령줄에서 셸 변수 내보내기

나는 다음과 같은 스크립트를 사용하여 이중성 게임을 하고 있습니다.

export PASSPHRASE=SomeLongGeneratedHardToCrackKey
duplicity /etc scp://[email protected]/etc
unset PASSPHRASE

이것은우분투 문서 링크.

스크립트에서 설정하는 대신 명령줄에서 비밀번호를 설정하려면 어떻게 해야 합니까?

나는 (명령줄을 통해) 다음을 시도했습니다.

PASSPHRASE='SomeLongGeneratedHardToCrackKey'

export -n PASSPHRASE

그러나 이것은 작동하지 않습니다. Duplicity에서는 여전히 gpg 키의 비밀번호를 입력하라는 메시지를 표시합니다.

아이디어? 티아,

올레

답변1

셸은 스크립트와 대화형 명령줄 세션이 동일하게 보이도록 설계되었습니다. 이는 다음을 효과적으로 다시 입력할 수 있음을 의미합니다.

export PASSPHRASE=SomeLongGeneratedHardToCrackKey
duplicity /etc scp://[email protected]/etc
unset PASSPHRASE

특정 명령에 대한 변수만 내보내는 것이 일반적이므로 다음과 같은 단축키가 있습니다.

PASSPHRASE=SomeLongGeneratedHardToCrackKey \
duplicity /etc scp://[email protected]/etc

export -nexport -n설명과 반대로 작동하지 않습니다 .exporthelp export

 ...
  -n    remove the export property from each NAME
 ...

관련 정보