expect -c 'spawn scp -C -o CompressionLevel=9 ~/partFiles/* [email protected]:/export/home/abc/; sleep 10; expect password; send "secretPassword\n";interact'
投げる -~/partFiles/*: No such file or directory
ただ
scp -C -o CompressionLevel=9 ~/partFiles/* [email protected]:/export/home/abc/
しかし、完璧に動作します。
なぜ?この問題をどのように解決しますか?
ベストアンサー1
私は考え~
てシェルによって拡張されますが、シェルをバイパスして直接呼び出され、拡張されないことを*
期待しています。scp
ビルドsh -c
コマンドを試すことができますscp
。
これがオプションの場合、キーをサーバーと共有する方が簡単になる可能性があるため、これに対する期待はまったくありません。
このsh
手法では、コマンドは次のように表示されます。
expect -c 'spawn sh -c "scp -C -o CompressionLevel=9 ~/partFiles/* [email protected]:/export/home/abc/"; sleep 10; expect password; send "secretPassword\n";interact'