【发布时间】:2019-10-02 23:18:40
【问题描述】:
我有一个简单的 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
我得到以下错误功能:我看到“你好!”输出,光标在下一行闪烁。但我不能在那里输入任何字符。控制台根本不会对任何键甚至 Enter 做出反应。唯一的继续方法是按 Ctrl+C 关闭连接。
那么如果脚本使用单行执行,那么如何解决这个问题并让脚本接受使用 cmd + Plink 的输入?
【问题讨论】: