실제로이 작업을 수행하는 훨씬 간단한 방법이 있습니다. 이식성을 위해 이것은 나의 구현이지만 필요에 맞게 자유롭게 조작 할 수 있습니다.
스크립트를 시작할 때 sudo 비밀번호를 매개 변수로 입력하고이를 캡처 한 후 sudo 비밀번호를 묻는 프롬프트가 표시되는 각 명령으로이를 에코하십시오.
#!/bin/bash
PW=$1
echo $PW | ./playback_delete_data_patch.sh 09_delete_old_data_p.sql
./command_wo_sudo.sh <param>
echo $PW | ./other_command_requires_sudo.sh <param>
다음과 같이 스크립트가 시작된 후 프롬프트를 추가하고 캡처 할 수 있습니다.
echo "enter the sudo password, please"
read PW
그러나 다른 사람이 노드에서 실행되는 것을 모니터링하는 경우 자신이 만든 로그에 액세스 할 수 있습니다. 또는 테스트를 실행할 때 무작위로 보안 문제가 발생할 수있는 부분을 살펴보아야합니다.
또한 계속하려면 예가 필요한 명령 / 스크립트 실행과 함께 작동합니다.
echo $PW | yes | ./install.sh
에코는 프롬프트에 대한 응답이므로 진행 프롬프트가있는 다른 스크립트를 실행중인 경우 필요한 순서대로 순차적으로 사용할 수 있습니다. 그러나 그 순서 나 나쁜 일이 발생할 수 있음을 알고 있어야합니다.