このスクリプトエラーが発生するのはなぜですか?
#!/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
出力
myuser@kali:~$ ./user.sh
./user.sh: line 7: syntax error near unexpected token `else'
./user.sh: line 7: `else'
myuser@kali:~$
答え1
;
との間に追加することを忘れました。if
then
if [ "$UID" -ne 0 ]; then
echo "Non-root user."
else
echo "Root user."
fi
条件付き構造もif
notで終わります。fi
Fi
;
デフォルトでは改行文字の略です。必要then
に応じて、次の行で次を使用してこの問題を回避できます;
。
if [ "$UID" -ne 0 ]
then
echo "Non-root user."
else
echo "Root user."
fi