![대화형 로그인은 어떻게 합니까?](https://linux55.com/image/3004/%EB%8C%80%ED%99%94%ED%98%95%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%EC%9D%80%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
대화형 로그인으로 스크립트를 만드는 데 문제가 있습니다. 하나 만들었지만 로그인을 요청하지 않고 스크립트를 실행할 때 자동으로 로그인됩니다.
다음과 같은 출력이 필요합니다.
please enter ftp server :
username :
password :
답변1
사용 read
(참조 help read
) - 다음과 같이 수행할 수 있습니다.
read -p "please enter ftp server : " SERVER
read -p "username : " USERNAM
IFS= read -s -p "password :" USERPSS
이 방법으로 변수 및 각각에서 서버, 사용자 이름 $SERVER
및 $USERNAM
비밀번호를 수집합니다 $USERPSS
. ( -s
비밀번호는 으로 인해 에코되지 않으며, IFS=
시작 부분에 공백이 포함될 수 있습니다.)
메시지가 표시될 때 비밀번호가 표시되지 않더라도 다음을 수행할 수 있다는 점을 기억하십시오.해서는 안 된다$USERPSS
이 변수는 ftp "${USERNAM}:${USERPSS}@{SERVER}"
이 컴퓨터에서 실행 중인 다른 사용자에게 표시되므로 유사한 명령에서 직접 사용하십시오(예:). ps
프로그램에 대한 입력으로 직접 비밀번호를 전달하거나 (더 나은 방법) 프로그램이 비밀번호를 요청하도록 하는 것이 더 좋습니다.