Linuxにフォルダがあることを確認するには、else ifを使用してください。

Linuxにフォルダがあることを確認するには、else ifを使用してください。

次のbashスクリプトがあります。

if [ -d "/$home/DB_handouts"] then
 echo "Directory DB_handouts found"
else
mkdir /$home/DB_handouts
 chmod 777 /$home/DB_handouts
fi

上記のコードを実行するとエラーが発生します。

./file.sh: line 12: syntax error near unexpected token `else'
./file.sh: line 12: `   else'

この問題をどのように解決できますか?

ベストアンサー1

;との間にセミコロン()(または改行)を追加する必要があります。if [ -d "/$home/DB_handouts"]thenthen

if [ -d "/$home/DB_handouts" ]; then

また、状況に応じてmkdir -pこれを実行できることを確認してください。例を見ると、次のことがうまくいくはずです。

mkdir -p /foo/bar
chmod 777 /foo/bar

おすすめ記事