조건부 연산자를 작성하는 POSIX 호환 방식

조건부 연산자를 작성하는 POSIX 호환 방식

Bash에서는 할 수 있습니다

if [ $(echo $UID) != 0 ]
then
    echo "Run as root"
    exit
fi

대시 또는 기타 POSIX 호환 셸을 사용하여 스크립트를 실행하면 오류 메시지가 반환됩니다. POSIX에서 이 작업을 수행하는 방법은 무엇입니까?

답변1

UID모든 쉘에 대해 정의되지 않음(POSIX 요구 사항은 아님)

당신은 그것을 사용할 수 있습니다 id -u:

#! /bin/sh

if [ "$(id -u)" != "0" ]
then
    echo "Run as root"
    exit
fi

관련 정보