用于检查可用更新的Bash脚本

时间:2020-08-20 作者:zamunda68

这是我使用bash脚本的第一步,我有一个问题。

我想列出网站目录中的所有插件和主题,这些插件和主题有可用的更新:

1 #!/bin/bash
 2 
 3 #check for updates of plugins, themes and core version in a WordPress installations
 4 
 5 str1="available"
 6 str2="none"
 7 
 8 wp plugin list | grep available | awk \'{print $1, $2, $3, $4}\'
 9 
10 if [ "$str1" == "$str2" ]; then
11     echo "Updates available"
12     else
13         echo "No updates available"
14         fi
15 
16 
17 wp theme list | grep available | awk \'{print $1, $2, $3, $4}\'
18 
19 if [ "$str1" == "$str2" ]; then
20 11     echo "Updates available"
21 12     else
22 13         echo "No updates available"
23 14         fi
但是,如果执行脚本,将显示以下输出:

无可用更新Update\\u检查:第26行:语法错误:意外的文件结尾

我试图通过网络找到解决方案。你能分享一下脚本应该如何结束吗?非常感谢。

1 个回复
SO网友:birgire

WP-CLI和AWK的一种方法是对available 通过AWK在第三列中输入字符串:

wp plugin list | \\
 awk \'BEGIN{N=0;} \\
  ($3=="available"){N++; print $0;} \\
  END{print(N>0)?"Plugin updates available: "N:"No plugin updates available";}\'
在哪里N 是可用更新的数目,如果您需要该数目,$0 整排都是$3 第三列。

Example output:

Foo-plugin    active  available       1.2.3
Plugin updates available: 1
主题类似。

WP-CLI和PHP/WordPress API的另一种方法是通过PHP脚本实现,该脚本包括相关的WordPress API调用,并像以下那样运行:

wp eval-file script.php
或作为自定义WP-CLI命令。

参见例如我的答案herehere.

相关推荐

Can I make plugins required?

我正在开发自己的Wordpress主题,将用于多个客户端。它有一个主题选项页面,这样我每次都可以轻松自定义网站,但我也会在我制作的每个网站上使用一些插件(如SEO插件、安全性等)。有没有办法让它们成为“必需的”,这样我就可以得到这些插件的列表,这样当我在新网站上安装主题时就不必在插件目录中找到它们了?