3
我已经开始学习bash脚本。我有一个概念上的疑问,如何确定脚本是以root用户还是普通用户身份运行?检查bash脚本是以root用户还是普通用户身份运行?
我知道如果用户是0的UID,但我不明白如何实现它。任何人都可以解释我如何使它工作。当脚本以常规用户身份运行时,是否可以将消息打印为"Not a root user"
?
我的脚本是一个简单的hello_world.sh
:
#!/bin/bash
echo 'Hello World';
我想你想要的是$ EUID,而不是$ UID,因为那是如何检查脚本是否以root权限运行。 – user2719058
你是对的,我编辑了我的答案。实际上,我不确定UID在这里如何与EUID不同(或者在某些平台上设置了shell脚本)。 – remram
脚本可以由更改有效uid的父母分叉。虽然默认情况下bash会将有效的uid重置为真实的uid,除非给出'-p'选项,所以通常'$ EUID = $ UID'成立。然而,像短划线之类的其他shell并不实现这个功能。 – user2719058