予期しない「完了」マークの近くに構文エラーがあります。

予期しない「完了」マークの近くに構文エラーがあります。

whileループ(nanoを使用)を介してこのURLからいくつかのWebサイトをダウンロードしようとしていますが、「予期しないトークン「完了」の近くに構文エラーがあります」というエラーが発生し続けます。

while read <FIRST-LAST> do
        echo FIRST-LAST
        curl -O https://www.uoguelph.ca/arts/history/people/FIRST-LAST
done < formatted_history.txt

ベストアンサー1

  • 新しい行に表示されるか、do前にセミコロンを挿入する必要があります。
  • <FIRST-LAST>これは実際にはシェル変数の名前でなければならず、FIRST-LASTその変数への参照でなければなりません。 <>シェル変数に有効な文字ではないため、代わりに別の文字を使用する必要があると推測できます。 personこの特別な場合には良い変数名のようです。

私は次のことがうまくいくはずだと思います。

while read person ; do
        echo "${person}"
        curl -O "https://www.uoguelph.ca/arts/history/people/${person}"
done < formatted_history.txt

これは、ファイルがformatted_history.txt実際に現在のディレクトリに存在し、次の場所から来たと仮定します。https://www.uoguelph.ca/arts/history/people/ページ - 次のようになります。

tara-abraham
donna-andrew
susan-armstrong-reid
... etc ...

おすすめ記事