首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Shell脚本if语句[:意外操作符

Shell脚本if语句[:意外操作符
EN

Stack Overflow用户
提问于 2016-03-31 15:13:11
回答 1查看 5.9K关注 0票数 4

我正在尝试创建一个非常简单的shell脚本,以检测它是否以root的形式运行。由于某些原因,下面的代码在第6行生成一个Error: [: stackunderflow: unexpected operator,我不知道为什么?我有一个bash脚本,但是为了可移植性和一些教育,我想用一个shell脚本来完成这个任务。

代码语言:javascript
复制
#!/bin/sh
##
# Check for root launch
#
set -e
USER="$(id -un 2>/dev/null || true)"
if [ "$USER" == 'root' ]; then
    echo "You must be a root user"
    exit 1
else
    echo 'Not root!'
    exit 0
fi

这是作为./check.sh从Debian amd64桌面上运行的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-31 15:31:02

首先,你把这个标记为bash,这是bourne。正如sigmalha所指出的,您使用的运算符是错误的。使用=代替==。

此外,您在成功时失败(退出1),失败时成功(退出0)。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36337341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档