gpt4 book ai didi

bash - 如何在使用 Plink 执行的 bash 文件中接受用户输入?

转载 作者:行者123 更新时间:2023-12-02 13:47:21 26 4
gpt4 key购买 nike

我有一个简单的 bash 脚本:

echo "Hello!"

read varname

echo "you entered " $varname

所以它输出“你好!”然后接受用户输入并输出输入的文本。

脚本可以使用PuTTY成功执行。

我还可以通过 Windows cmd 使用 Plink 运行脚本。我连接到主机:

plink.exe -batch -i C:\path\to\key.ppk user@host

然后我更改目录并运行脚本:

cd mydir

bash myscript.sh

脚本按要求工作:打印“Hello!”然后请求输入并打印输入。

但是,如果我通过 Plink 连接使用相同的字符串运行脚本:

plink.exe -batch -i C:\path\to\key.ppk user@host bash ./mydir/myscript.sh

我遇到以下错误:我看到“Hello!”输出并且光标在下一行闪烁。但是我不能在那里输入任何字符。控制台根本不会对任何键使用react,甚至不会对 Enter 使用react。继续的唯一方法是按 Ctrl+C 关闭连接。

那么如果使用单行执行脚本,如何解决这个问题并使脚本接受使用 cmd + Plink 的输入?

最佳答案

当您在 Plink 命令行上指定命令时,它会在非交互式 session (没有终端仿真)中执行该命令。

使用-t switch强制使用交互式 session (终端仿真):

plink.exe -batch -t -i C:\path\to\key.ppk user@host bash ./mydir/myscript.sh

关于bash - 如何在使用 Plink 执行的 bash 文件中接受用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56155669/

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