쉘 스크립트의 "pass"에서 검색된 비밀번호를 사용하는 방법

쉘 스크립트의 "pass"에서 검색된 비밀번호를 사용하는 방법

사용하는 동안 비밀번호를 저장했습니다.pass그리고 이를 바탕으로 Cisco Anyconnect를 사용하여 VPN 연결 프로세스를 자동화하려고 합니다. VPN이 잘 작동하는 것을 확인했습니다.스크립트내가 사용하려는 것은 다음과 같습니다.

pass=$(pass branch/key)
vpn -s connect vpn.server.host << "EOF"
0
username
"$pass"
y
exit
EOF

로 저장했다고 가정하면 .connectvpnVPN source .connectvpn터널을 시작하고 연결을 설정해야 합니다.

파일에서 사용하려는 변수( pass)를 제거하고 실제 비밀번호를 다섯 번째 줄에 입력하면 작동한다는 것을 알 수 있습니다. 내가 겪고 있는 문제는 bash 변수 접근 방식에 있습니다.

답변1

문제는 구분 기호를 인용한다는 것입니다 "EOF". 여기에서 문서의 구분 기호를 인용하면 본문에서 매개변수 확장이 수행되지 않으므로 비밀번호는 리터럴 값을 갖게 됩니다 "$pass". EOF따옴표 없이 구분 기호를 사용해 보세요 .

관련 정보