Cha*_*ani 5 shell quoting wildcards expect
expect -c 'spawn scp -C -o CompressionLevel=9 ~/partFiles/* abc@10.200.4.15:/export/home/abc/; sleep 10; expect password; send "secretPassword\n";interact'
Run Code Online (Sandbox Code Playgroud)
抛出 - ~/partFiles/*: No such file or directory
只是
scp -C -o CompressionLevel=9 ~/partFiles/* abc@10.200.4.15:/export/home/abc/
然而,完美的作品。
为什么?如何解决这个问题?
我认为 和~是*由 shell 扩展的,但我敢打赌,expect 会scp直接调用,绕过 shell,这样它们就不会被扩展。您可以尝试生成sh -c命令scp。
如果这是一个选项,那么与服务器共享您的密钥也可能会更容易,因此您根本不需要对此有任何期望。
使用该sh技术,命令最终将如下所示:
expect -c 'spawn sh -c "scp -C -o CompressionLevel=9 ~/partFiles/* abc@10.200.4.15:/export/home/abc/"; sleep 10; expect password; send "secretPassword\n";interact'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5556 次 |
| 最近记录: |