符合 POSIX 标准的条件运算符编写方式

符合 POSIX 标准的条件运算符编写方式

在 bash 中你可以做

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

当我使用 dash 或其他兼容 POSIX 的 shell 运行脚本时,这会返回一条错误消息。在 POSIX 中如何做到这一点?

答案1

UID没有为所有 shell 定义(这不是 POSIX 要求)

您可以使用id -u

#! /bin/sh

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

相关内容