我需要通过命令行以编程方式获取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