如何修复“ id -u”为if语句返回0的变量?

时间:2018-12-20 04:31:40

标签: linux bash

我正在尝试将“ id -u $ 1”的结果放入变量中,以便使用if语句进行验证,但是即使我检查了它,它似乎仍在向变量返回0是1008。是因为用户名取自脚本的参数吗?

UID=`id -u $1`
LOCK=`usermod -L $1`

if test $UID -lt 500;then

        echo "impossible to lock user"

else

        $LOCK;

fi

1 个答案:

答案 0 :(得分:2)

您的问题是,您在脚本中使用了系统变量,然后尝试对其进行更改。 而不是UID尝试使用UID1作为变量名。您的脚本将类似于:

UID1=`id -u $1`
LOCK=`usermod -L $1`

if test $UID1 -lt 500;then
        echo "impossible to lock user"
else
        $LOCK;
fi