Rob*_*y75 1 linux bash dash-shell
bash的标准解决方案,请参阅:
https://askubuntu.com/questions/15853/how-can-a-script-check-if-its-being-run-as-root
这是:
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
在dash中不起作用,它正慢慢成为Linux下的标准shell.如何将上述内容移植到破折号?
用途id:
if [ "$(id -u)" -eq 0 ]; then
echo "I am root!"
fi
Run Code Online (Sandbox Code Playgroud)
要么
#!/bin/sh
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run as root"
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
在Linux中,您可以只读取id哪个比依赖二进制文件更有效.
if [ "$(id -u)" -eq 0 ]; then
echo "I am root!"
fi
Run Code Online (Sandbox Code Playgroud)