Принимая во внимание эффективность, вы можете сначала проверить переменную среды EUID, а затем, если она не существует, вызовите стандартную команду id:
if ((${EUID:-0} || "$(id -u)")); then
echo You are not root.
else
echo Hello, root.
fi
Таким образом , из-за ярлыка OR, вы избегаете вызова системной команды, предварительно задавая запрос переменной в памяти.
Повторное использование кода:
function amIRoot() {
! ((${EUID:-0} || "$(id -u)"))
}
Я не владею Xchat, но я обнаружил, что было достаточно:
sudo ufw allow out ircd
Я думаю, что он действует так же, как sudo ufw allow out 6667.