Bash 스크립트의 sudo: 항상 비밀번호를 기다리지는 않습니다.

Bash 스크립트의 sudo: 항상 비밀번호를 기다리지는 않습니다.

다음과 같은 간단한 bash 스크립트가 있습니다.

#!/usr/bin/env bash

sudo ./some_other_script_01
sudo ./some_other_script_02

이 스크립트를 실행하면언제나평소처럼 비밀번호 프롬프트를 검토하세요.

[sudo] password for user: 

그러나 때로는 설명할 수 없을 정도로 ./some_other_script_01비밀번호를 입력하기도 전에 실행이 시작됩니다(아마도 루트 권한이 없을 것 같습니다). 이런 일이 일어나도했다(아직 제공하지 않은) 비밀번호를 입력하라는 메시지가 표시됩니다.

현재 이런 일이 발생하면 스크립트를 종료하고 다시 시작해야 합니다(루트 권한으로 실행되도록).

답변1

Sudo는 한 번이면 충분합니다. sudo로 시작하세요 wrapper.sh. 스크립트에 루트 권한이 있는지 확인하십시오. sudo 호출은 더 이상 필요하지 않습니다.

sudo ./wrapper.sh

래퍼.sh:

#!/usr/bin/env bash

if [ "$EUID" -ne 0 ]
  then echo "Please run as root"
  exit
fi

./some_other_script_01
./some_other_script_02

관련 정보