
나는 다른 스크립트를 호출하는 쉘 스크립트를 작성했지만 두 번째 스크립트는 비밀번호를 묻는 메시지를 표시합니다. 비밀번호를 제공하고 사용자에게 알리지 않고 프롬프트를 전달하고 싶습니다.
이것은 내 스크립트입니다.
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 규칙을 설정하는 것이 가장 좋습니다.