scp:「不明な名前またはサービス」が「ファイルまたはディレクトリなし」よりも優先されるのはなぜですか?

scp:「不明な名前またはサービス」が「ファイルまたはディレクトリなし」よりも優先されるのはなぜですか?

考慮する:

$ file xxx
xxx: cannot open `xxx' (No such file or directory)

なぜ:

$ scp xxx [email protected]
ssh: Could not resolve hostname xxx.xx: Name or service not known
lost connection

変える:

$ scp xxx [email protected]
xxx: cannot open `xxx' (No such file or directory)

そのようなファイルやディレクトリがない場合は、最初になぜ接続しようとしますか?

scp論理に問題があるのでしょうか?

答え1

これは仕事が実行される順序による結果ですscp。順序はおおよそです。

  1. リモートコンピュータへの接続を開く
  2. 最初のファイルの送受信
  3. 2番目のファイルの送受信
  4. ...など...
  5. 緊密な接続

手順1で接続の問題が検出されたため、ファイルの操作を開始する前にこの時点でエラーが発生します。

接続を確立する前にファイルを事前に確認できます(送信の場合のみ - 受信時には論理的に持つ接続は最初に確立されますが、これは追加のステップであり、事前確認と実際の転送の間にファイルが消える追加のエラーケースがあるため、実際にエラー処理がより複雑になります。

関連情報