为什么这个脚本会出错?

1 shell-script kali-linux

为什么这个脚本会出错?

#!/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)

hee*_*ayl 5

你忘了;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)