![Linux:使用脚本将命令传递给 CLI](https://linux22.com/image/1284766/Linux%EF%BC%9A%E4%BD%BF%E7%94%A8%E8%84%9A%E6%9C%AC%E5%B0%86%E5%91%BD%E4%BB%A4%E4%BC%A0%E9%80%92%E7%BB%99%20CLI.png)
有什么方法可以将命令直接传递给工具的 CLI?
我想编写一些动作脚本,例如:
./OpenBTS < "tmsis"
我不需要检索结果(我在日志文件中查看结果)。你知道我该如何实现这一点吗?现在没有办法使用命令行参数来做到这一点,至少我没有发现。所以看起来我必须自己想办法。有什么想法吗?也许我可以以某种方式自动化屏幕以检测提示并在那里“粘贴”我的命令。Linux 上有这样的工具吗?
答案1
听起来你正在寻找预计
答案2
你可以尝试使用 heredoc,例如:
./OpenBTS <<EOF
tmsis
EOF
如下面这段文字记录所示,它将输入输入到sed
:
pax$ sed 's/^/Q/' <<EOF
> hello
> goodbye
> EOF
Qhello
Qgoodbye
或者,你可以直接将内容回显到其中,例如
echo "tmsis" | ./OpenBTS
按照以下示例:
pax$ echo 'hello
goodbye' | sed 's/^/Q/'
Qhello
Qgoodbye
答案3
没有特定的方法可以做到这一点,但如果该工具在 stdin 上监听,那么您可以使用 heredoc 来实现这一点。
./sometool << EOF
action1
action2
quit
EOF