通过命令行获取rabbitmq-plugin-dir位置



我需要通过命令行以编程方式获取Rabbitmq插件安装目录。我试图解析rabbitmqctl环境命令,但结果不是JSON格式的字符串。这似乎是一种专有模式。。。

所以,我试着这样做:

$ rabbitmqctl environment |grep plugins_dir | awk -F , '{ print $2 }' | tr -d '"}'

有时,当结果在位置本身的同一行返回plugins_dir字符串时,上面的命令会起作用,在我的例子中是:"/usr/lib/rabbitmq/lib/rabbitmq_server-3.5/sbin/../plugins"

但有时,该命令会在另一行返回插件目录位置,破坏我的解析器。

$ rabbitmqctl environment |grep -A 2 plugins_dir 
      {plugins_dir,
          "/usr/lib/rabbitmq/lib/rabbitmq_server-3.5.4/sbin/../plugins"},
      {plugins_expand_dir,

有没有一种简单的方法可以获得插件目录的位置?

尝试以下操作:

./sbin/rabbitmqctl eval 'application:get_env(rabbit, plugins_dir).'

有关更多信息,请参阅http://www.erlang.org/doc/man/application.html

最新更新