If-Else ステートメントが機能しません。予期しないトークン "fi"の近くに構文エラーがあります。

If-Else ステートメントが機能しません。予期しないトークン

私はファイルマネージャであるスクリプトの作成を始めただけで、ユーザーに好みのテキストエディタを設定するように要求する機能を設定していますが、常にエラーメッセージが表示されます。

/home/user/bin/manager: line 12: syntax error near expected token 'fi'
/home/user/bin/manager: line 12: 'fi'

コードは次のとおりです。

#!bash/bin
#File managing shell
editor() {
read -p "What file editor would you like to use?    (Nano)  or  (Vi)m   " answer
export $answer=$(echo "$answer" | tr '[:upper:]' '[:lower:]')
if [ [ "$answer" -eq "nano" && "vi" && "vim" && "emacs" ] ]
then
editor="$answer"
else
echo "This is embarassing, I didn't understand your input..."
editor ()
fi
}
echo -e "" #this area tells the user he commands and etc. it takes forever to type...
sleep 1
editor()

私が逃したものはありますか?

ありがとう

ベストアンサー1

2番目と3番目

editor ()

ただしなければならない

editor

括弧は関数定義にのみ必要です。

bashのパーサーは';'欠落について文句を言います()が、これは問題の一部です。

おすすめ記事