
저는 루트로 실행해야 하는 스크립트를 작업 중입니다. 그렇지 않으면 모든 것이 중지됩니다.
#!/bin/bash
validationRoot() {
if [ $USER != 'root' ]
then
echo "You're not root! You can't use this script."
fi
}
validationRoot;
echo "You're root!"
echo "You're not root! You can't use this script."
실행을 중지하려면 add 뒤에 무엇을 추가해야 할지 모르겠습니다 .
답변1
나는 이렇게 했을 것이다:
#!/bin/bash
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
id=0은 슈퍼유저(또는 루트)를 식별하기 위해 커널 내부에서 사용되는 것입니다.
편집: STDERR로 리디렉션하는 것이 더 좋습니다.
여기에 한 줄의 내용이 있습니다 :)
(( EUID )) && echo ‘You need to be root.’ && exit 1