![다른 스크립트 내에서 호출되는 스크립트 시작에 대한 비밀번호 제공](https://linux55.com/image/61640/%EB%8B%A4%EB%A5%B8%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%EB%82%B4%EC%97%90%EC%84%9C%20%ED%98%B8%EC%B6%9C%EB%90%98%EB%8A%94%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%EC%8B%9C%EC%9E%91%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%20%EC%A0%9C%EA%B3%B5.png)
나는 다른 스크립트를 호출하는 쉘 스크립트를 작성했지만 두 번째 스크립트는 비밀번호를 묻는 메시지를 표시합니다. 비밀번호를 제공하고 사용자에게 알리지 않고 프롬프트를 전달하고 싶습니다.
이것은 내 스크립트입니다.
su - s3 -c "su.sh"
나는 이전에 시도했습니다:
su - s3 -c "echo pass | su.sh"
하지만 오류가 발생합니다.
standard in must be a tty
고쳐 쓰다:
명령의 스크린샷.
나도 피곤해:
su - s3 -c "echo mypass|sudo -S su.sh"
하지만 또 다른 오류가 발생합니다.
sudo: sorry, you must have a tty to run sudo
su.sh 명령:
if [ ! -n "$IS_WINDOWS" ]
then
/bin/su root -c "...."
fi
답변1
답변2
당신은 그것을 사용할 수 있습니다예상되는프로그램은 비밀번호를 요청하면 응답을 제공합니다. 여기에는 비밀번호를 하드코딩하는 보안 문제도 있으며 일반적으로 비밀번호 없이 명령을 실행하도록 sudo 규칙을 설정하는 것이 가장 좋습니다.