回声问题当Bash脚本调用另一个BASH脚本时



我有一个非常简单的bash脚本,使用 nc.traditional打开端口9999(因为 nc不再具有 -e参数(,然后使用 nc.traditional's -e参数调用另一个bash脚本。第二个脚本的目的是询问已连接到该端口Linux框的人的 name age ,然后只将这些信息存储在两个单独的文件中。<<<<<<<<<<<</p>

所有人都可以很好地工作,除了我打算在进入他的 age 时关闭echo,而这就是导致失败和错误的原因。据我所知,这可能是因为file descriptors,也可能是我不知道的其他东西。

显然,当脚本由另一个脚本调用时,使用-s命令的CC_8开关不起作用。

在第二个脚本中使用stty -echo导致" Stty:'标准输入':设备不合适的IOCTL"错误出现在第一个脚本的输出中。

我也想为提示定义超时,以使用户不会拖延我的资源。当另一个脚本召唤它时, timeout命令也不起作用。

第一个bash脚本:

#!/bin/bash
while true; do
    nc.traditional -n -l -p 9999 -e ./NameAge.sh
    sleep 5
done

第二个bash脚本:

#!/bin/bash
echo -n "Please enter your name:"
read name
echo "name: $name" >> /tmp/name.txt
echo -n "Please enter your age:"
read age
echo "age: $age" >> /tmp/age.txt

我真的很感谢您是否可以帮助我解决这个问题。

预先感谢

的问题是,您(服务器(无法控制连接人员的终端(客户端(,这是您需要关闭回声以完成您想要的工作的地方。我认为没有一个esay的方式。您可以使用逃生代码响应以清除上一行,但是直到用户按Enter。

相关内容

最新更新