为什么这个脚本会出错?
#!/bin/bash
# This script checks whether
# the current user is root or
# not.
if [ $UID -ne 0 ] then
echo "Non-root user."
else
echo "Root user."
Fi
Run Code Online (Sandbox Code Playgroud)
myuser@kali:~$ ./user.sh
./user.sh: line 7: syntax error near unexpected token `else'
./user.sh: line 7: `else'
myuser@kali:~$
Run Code Online (Sandbox Code Playgroud)
你忘了;在if和之间加上then:
if [ "$UID" -ne 0 ]; then
echo "Non-root user."
else
echo "Root user."
fi
Run Code Online (Sandbox Code Playgroud)
另外,if有条件的结构结尾fi,没有Fi。
;基本上是换行符的简写。如果您愿意,可以then在下一行中使用以避免;:
if [ "$UID" -ne 0 ]
then
echo "Non-root user."
else
echo "Root user."
fi
Run Code Online (Sandbox Code Playgroud)