我制作的脚本。
#!/bin/bash
amqBaseURL="http://10.199.199.199:8080"
/usr/bin/wget --http-user=admin --http-password=admin $amqBaseURL/admin/ -O amq1.html
store=`cat amq1.html |sed -n '/Store/{n;p}'|grep -o "[0-9]*"`
echo -e "$store"
脚本输出
--2019-01-23 21:25:13-- http://10.199.199.199:8080/admin/
Connecting to 10.199.199.199:8080... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Reusing existing connection to 10.199.199.199:8080.
HTTP request sent, awaiting response... 200 OK
Length: 7363 (7.2K) [text/html]
Saving to: “amq1.htmlâ€
100%[==========================================================================================================>] 7,363 --.-K/s in 0s
2019-01-23 21:25:13 (251 MB/s) - “amq1.html†saved [7363/7363]
0
我只需要获取输出值。而不是像每次运行脚本时那样输出整个长度。
100
我正在为此脚本运行外部调度程序(Zabbix),并且该工具仅接受数字。
答案1
发布答案以便可以将该问题标记为已关闭。归功于多普·戈蒂。为了抑制完整的 wget 会话输出,可以使用-q
or--quiet
标志运行该命令。从文档中:
-q --quiet Turn off Wget's output.
或者,为了获得最小的输出(例如错误),请使用-nv
or--no-verbose
标志。从文档中:
-nv --no-verbose Turn off verbose without being completely quiet (use -q for that), which means that error messages and basic information still get printed.