我一直在运行等待输入的脚本,并且每15秒向标准输出打印“等待输入”。我需要模拟在脚本运行时粘贴stdin中IP地址列表的操作。例如手动我需要执行以下步骤:复制下面的列表,包括最后一个列表元素后的新行,并将其直接粘贴到stdin中。
127.0.0.1
127.0.0.2
127.0.0.3
我尝试过使用管道和重定向(包含\ n和\ r \ n)而没有运气
echo "127.0.0.1\n127.0.0.2\n" | script
或
script < file
其中file包含相同的ip地址。有什么建议吗?
答案 0 :(得分:2)
使用FIFO!
mkfifo /path/to/tmp.fifo
tail -f /path/to/tmp.fifo | script
现在每当你向fifo发送一些东西(来自另一个TTY,来自一个进程,无论如何),就好像你输入了等待的脚本,例如。
echo "127.0.0.1" >> /path/to/tmp.fifo
答案 1 :(得分:0)
使用cat
。如果你执行:
cat | script
你可以切入n-paste或输入tty。