• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルスクリプト初心者です、以下のシェルを見てくだ)

シェルスクリプト初心者のためのSCPによる画像コピー

このQ&Aのポイント
  • CentOS5でディレクトリからリモートホストへSSH鍵方式を使って画像をコピーするシェルスクリプトを作成しましたが、エラーが発生してしまいます。
  • シェルスクリプトの3行目にある`/usr/bin/scp`の記述が原因と思われますが、具体的にどの部分が間違っているのかわかりません。
  • 初心者のため詳しい方にアドバイスをいただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

doなくない? 例) for w in The quick brown fox jumps over the lazy dog; do echo $w done 詳しくは、man sh

sakagami81
質問者

お礼

すみません、初歩的なエラーでした。 たしかにdoが抜けていたためにシェルがコマンドを叩けなかったんですね。 ありがとうございました。

その他の回答 (2)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

あと、その前後にエラーメッセージなかったですか? /home/user/move_img.sh: line 3:syntax error near unexpected token `/usr/bin/scp' って感じで。エラーの内容はこちらで説明されています。 検索して対処法を探すなら、こちらの文章でやってください。 `/usr/bin/scp'は、ここの側にあります、という場所を示すものなので、検索はその前までにします。

sakagami81
質問者

お礼

ご説明ありがとうございました。 もう一度出力してみたら、「/home/user/move_img.sh: line 3:syntax error near unexpected token `/usr/bin/scp'」とのエラーが出ました。 原因は「do」が入っていなかったことが考えられます。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

実行するコマンドが一つなら、forなど使わず、findの-execを使うのが便利。 find /home/user -regex ".*\.\(jpg\|png\|gif\|JPG\|GIF\|PNG\)" -exec /usr/bin/scp -P 22 -i "/home/user/.ssh/id_rsa" -r \{\} user@192.168.11.200:\{\} \; くわしくは man find Linux等のunix系OSでわからないことがあったら、とりあえず man を読む。

sakagami81
質問者

お礼

この方法は初めて知りました。 scpで新たな問題が出ましたので、それを解決したときに試してみます。 ありがとうございました。

関連するQ&A