- ベストアンサー
シェルスクリプト初心者のためのSCPによる画像コピー
- CentOS5でディレクトリからリモートホストへSSH鍵方式を使って画像をコピーするシェルスクリプトを作成しましたが、エラーが発生してしまいます。
- シェルスクリプトの3行目にある`/usr/bin/scp`の記述が原因と思われますが、具体的にどの部分が間違っているのかわかりません。
- 初心者のため詳しい方にアドバイスをいただきたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
doなくない? 例) for w in The quick brown fox jumps over the lazy dog; do echo $w done 詳しくは、man sh
その他の回答 (2)
- kmee
- ベストアンサー率55% (1857/3366)
あと、その前後にエラーメッセージなかったですか? /home/user/move_img.sh: line 3:syntax error near unexpected token `/usr/bin/scp' って感じで。エラーの内容はこちらで説明されています。 検索して対処法を探すなら、こちらの文章でやってください。 `/usr/bin/scp'は、ここの側にあります、という場所を示すものなので、検索はその前までにします。
お礼
ご説明ありがとうございました。 もう一度出力してみたら、「/home/user/move_img.sh: line 3:syntax error near unexpected token `/usr/bin/scp'」とのエラーが出ました。 原因は「do」が入っていなかったことが考えられます。
- kmee
- ベストアンサー率55% (1857/3366)
実行するコマンドが一つなら、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 を読む。
お礼
この方法は初めて知りました。 scpで新たな問題が出ましたので、それを解決したときに試してみます。 ありがとうございました。
お礼
すみません、初歩的なエラーでした。 たしかにdoが抜けていたためにシェルがコマンドを叩けなかったんですね。 ありがとうございました。