Google Gemini でスクリプトで構文エラー

windows_11_logo Linux
windows_11_logo

最近、AIを利用してシェルスクリプトをGoogle Geminiで作成して貰って、過不足を自分で編集するような流れが増えました。

昨日ですが、下記のような感じでGeminiで作成してコピーしましたが、if分の箇所で構文エラーになります。何度見直してもエラーも見つからずファイルのフォーマットをUTF8に変更したりして1時間ほど原因を探っていました

# Geminiで作成したシェルスクリプトの一部です
  if [ ! -f "${TEMP_RESULT_FILE}" ]; then
    # TEMP_RESULT_FILE が存在しない場合
    STT_MESSAGE="ファイルがありません"
    PYTHON_EXIT_CODE=1 # 外部処理エラーとして強制的に1を設定
  else
    # ファイルが存在する場合のみ読み込む
    STT_MESSAGE=$(cat "${TEMP_RESULT_FILE}")
  fi

構文チェックでは以下のエラーです

# sh -n test.sh
test.sh: 行 3: 予期しないトークン `then' 周辺に構文エラーがあります
test.sh: 行 3: `  if [ ! -f "${TEMP_RESULT_FILE}" ]; then'

改行コードや変な特殊文字が原因と思い、テキストエディタに貼り付けて制御文字を確認したら、半角空白が「NBSP」の文字コードになっています。

手動で空白を打ち直して構文エラーはなくなりましたが、結構面倒でした。普段はChatGPTを使っているので、久しぶりにGeminiを使うとこんな事になるとは面倒でした。

この事象毎回ではなく、たまに空白が「NBSP」になっていたみたいです

スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク
LinuxUbuntuWindows11
スポンサーリンク
シェアする
adminをフォローする
タイトルとURLをコピーしました