wp-cli table 输出到变量 -> wlack webhook

wp-cli table output to a variable -> wlack webhook

我正在尝试将 wp-cli 命令的输出发送到 slack webhook。 WP-cli 输出 tables,在这种情况下,插件更新。

这个命令是: $ wp plugin update --all --dry-run --format=table

正常输出为:

+-----------------------------------------+----------------+---------+----------------+
| name                                    | status         | version | update_version |
+-----------------------------------------+----------------+---------+----------------+
| aryo-activity-log                       | active-network | 2.6.1   | 2.7.0          |
| autoptimize                             | inactive       | 2.8.3   | 2.8.4          |
+-----------------------------------------+----------------+---------+----------------+

但是,当我将 table 输出放入变量并回显该变量时,所有 table 标记都已被删除: Available plugin updates: name status version update_version aryo-activity-log active-network 2.6.1 2.7.0 autoptimize inactive 2.8.3 2.8.4

完整的脚本是:

#!/bin/bash
updatesplugins=$(wp plugin update --all --dry-run --format=table)
echo $updatesplugins;

我卡在这一点上了。 为什么 bash 会去掉所有这些 -、+ 和 |人物?以及如何将其保持在其原始状态 zo 我可以将 table/variable 发送到,在这种情况下,一个 slack webhook?

您可以尝试将输出重定向到文本文件而不是变量。 变量通常将数据存储在一行中。尝试这样的事情 -

$(wp plugin update --all --dry-run --format=table) > updatesplugins.txt
cat updatesplugins.txt # or use it in some other command