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