0

誰でも私を助けることができますか?ログイン名とパスワードは .netrc からのものです。, < example.script の前では機能しません

  #!/bin/bash
  HOST='192.163.3.3'
  FILE="a.txt"

  while :; do
      ftp -p -v -i $HOST << example.script >> a.log
      grep -qF "Connected" a.log &&
      grep -qF "File successfully transferred" a.log && break
  done

  exit 0

example.script が含まれています

 put $FILE
 quit

エラーは次のとおりです。

 ./example.sh: line 15: syntax error: unexpected end of file

sh -vxスクリプトで使用しているときにこれを取得しました:

  while :; do
  ftp -p -v -i $HOST < example.script >> a.log
  grep -qF "Connected" a.log &&
  grep -qF "File successfully transferred" a.log && break
  done
  + :
  + ftp -p -v -i 192.163.3.3
  + grep -qF Connected a.log
  grep: a.log: No such file or directory
  + :
  + ftp -p -v -i 192.163.3.3
  + grep -qF Connected a.log
  grep: a.log: No such file or directory
  + :

このコードは問題を修正することに注意してください (入力リダイレクトの<代わりに使用)。<<スクリプト ファイルは、exaple.script代わりにとして指定されますexample.script

4

2 に答える 2

2

<<ここでは関係のないヒア ドキュメントを変更してください。代わりに、次のことを意味します。

ftp -p -v -i $HOST < example.script >> a.log
于 2012-11-30T18:53:57.657 に答える
0

here-docを閉じる必要があります。

#!/bin/bash
HOST='192.163.3.3'
FILE="a.txt"

while :; do
    ftp -p -v -i $HOST <<EOF example.script >> a.log
    grep -qF "Connected" a.log &&
         grep -qF "File successfully transferred" a.log && break
done
EOF

<<ヒアドキュメントを開く

于 2012-11-30T19:06:35.040 に答える