![このスクリプトエラーが発生するのはなぜですか? [コピー]](https://linux33.com/image/67299/%E3%81%93%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
このスクリプトエラーが発生するのはなぜですか?
#!/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