gpt4 book ai didi

bash - 如何使用 Expect 从 URL 运行文件?

转载 作者:行者123 更新时间:2023-11-29 09:31:04 25 4
gpt4 key购买 nike

在 expect 脚本中,我想下载一个文件并执行它。到目前为止,我已经尝试过这些选项:

尝试 1 - 只需下载并执行

#!/usr/bin/expect -f

spawn wget mysite.com/file.sh
spawn /bin/sh file.sh

/bin/sh 命令在文件下载完成之前执行

尝试 2 - 将内容通过管道传递给可执行文件

#!/usr/bin/expect -f

spawn /bin/sh <(curl -s mysite.com/file.sh)

我收到这个错误:

/bin/sh: <(curl: No such file or directory
send: spawn id exp6 not open
while executing

我尝试用几种不同的方式转义字符

尝试 3 - 使用 eval

#!/usr/bin/expect -f

spawn eval "\$(/bin/sh <\(curl -s mysite.com/file.sh\))"

这给出了这个错误:

couldn't execute "eval": no such file or directory
while executing

我尝试过使用和不使用转义字符

最佳答案

system <args>将参数传递给 sh .因此您可以使用 &&运算符在脚本执行后执行脚本。

#!/usr/bin/expect -f

system wget mysite.com/file.sh && ./file.sh

或者如果您根本不想保存脚本:

#!/usr/bin/expect -f

system curl mysite.com/file.sh | /bin/sh

关于bash - 如何使用 Expect 从 URL 运行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53889411/

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