gpt4 book ai didi

linux - Expect 的 "spawn"命令不支持 "spawn scp -r/home/user/dir1/* server:"中的 shell 通配符

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:43:18 32 4
gpt4 key购买 nike

<分区>

我正在尝试制作一个 bash 脚本来自动执行以下操作,这样我就不必每次都重新输入我的 ssh key (稍后会解释原因):

scp -r /home/user/dir1/* cluster_server:

即我想仅将 dir1 的内容 直接复制到 cluster_server 的主文件夹中。当我直接在命令行中键入它时,这会起作用。但是,我尝试像这样用 expect 自动执行此操作:

#!/usr/bin/expect

spawn scp -r /home/user/dir1/* cluster_server:
expect "id_rsa':"
send "$PASSWORD\r"
interact

我想出了一个问题。 * 不再起作用。我只能做

spawn scp -r /home/user/dir1/ cluster_server:

创建一个新目录。我知道这是一个微不足道的问题,但我想弄清楚为什么它不起作用。

此外,似乎在所有关于使用 expect 自动执行 ssh 内容的问题中,每个人都回答说您应该使用 ssh key ,这样您就不需要密码了。所以在有人建议之前,不幸的是我不能这样做,因为我在尝试设置新的 rsa id 时弄乱了我的 ssh key 。我不得不禁用自动 gnome-keyring,因为我遇到了这个错误:How to remove a ssh key?

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com