
*
パスに文字を使用するときにscpを使用してコピーできないのはなぜですか?
scp SERVERNAME:/DIR/* .
*
パスでSCPを許可するにはどのような設定が必要ですか?
更新:問題はサーバー側ではありません。 pscpはSCPv1を使用しようとしていますが、これはエラーメッセージの原因です。
答え1
scp
リモートシステムがそれをglobとして見ないようにするには、リテラルエスケープを渡す必要があります*
(二重引用符で囲まれています)。
scp 'SERVERNAME:/DIR/\*' .
答え2
Chrisの答えは私を正しい道に導いたが、私はPatrickのアドバイスが正しいと思った。引用符を使用し、アスタリスクの前にバックスラッシュは必要ありません。
引用符+バックスラッシュの使用:
$ scp 'SERVERNAME:/tmp/file_num\*' . scp: /tmp/file_num*.csv: No such file or directory
引用符のみを含める:
$ scp 'SERVERNAME:/tmp/file_num*' . judgments_for_job_171642.csv 100% 32KB 32.0KB/s 00:00 judgments_for_job_172394.csv 100% 548KB 182.6KB/s 00:03
答え3
~のためワイルドカードを避けるために一重引用符とエスケープされたアスタリスクの両方が必要です。
scp 'SERVERNAME:/DIR/\*' ./
使いたいならワイルドカード一重引用符を使用するか、アスタリスクをエスケープします。
scp 'SERVERNAME:/DIR/*' ./
# or
scp SERVERNAME:/DIR/\* ./
scp
ワイルドカードのみサポートされているようです。ファイル名しかしそうではありませんディレクトリ名。
答え4
実際には-r
同様の状況でのみ使用されます。特にスクリプトで変数を使用する場合はそうです。
例:
SERVERNAME="[email protected]"
scp -r $SERVERNAME:/DIR/ ./