0

Linuxシェルスクリプトを介してsftpコマンドを使用してリモートサーバーからすべてのファイルを取得しようとしています。私のコードは次のとおりです。

    lftp -u ${sourceEnv},${password} sftp://${Host}<<EOF
    cd $sourceBuildDir/build/64/trace/products/lib/
    get *
    bye
    EOF

問題は、スクリプトを実行すると次の出力が得られることです: get: Access failed: No such file (*)

基本的にそのディレクトリからすべてのファイルを取得する必要があることを指定するために使用された * 記号を認識しません。 「 」または「 」のように引用しようとしましたが、まだ機能しません。スクリプトは、get コマンドでファイルの完全な名前を指定するたびに機能しますが、より一般的なものにする必要があります。どのように私はそれを実装すべきだと思いますか? よろしくお願いします。

4

1 に答える 1

0

コマンドラインでパスワードを渡すのを避けるために、おそらく最初にパスワードなし、パスフレーズなしの ssh を設定します。コマンド ラインで送信されたパスワードは ps で表示されますが、これはセキュリティ上の問題です。

これにより、複数行の lftp ではなく、単一行の scp でこれを実行できるようになります。

http://stromberg.dnsalias.org/~strombrg/ssh-keys.html

于 2012-04-29T20:46:39.803 に答える