通过命令行获取rabbitmq插件目录位置

时间:2015-10-31 12:47:52

标签: shell plugins command-line location rabbitmq

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

所以,我试图这样做:

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

有时上面的命令在结果返回位置本身的同一行的plugins_dir字符串时起作用,在我的情况下:" /usr/lib/rabbitmq/lib/rabbitmq_server-3.5.4/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,

有没有简单的方法来获取插件目录位置?

1 个答案:

答案 0 :(得分:3)

尝试类似:

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

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