Я знаю, что эта ветка довольно старая, но в любом случае вопрос все еще актуален: -)
Просто начав с Dashcode и виджетов, я быстро взломал это:
function doGetEnv(event)
{
if (window.widget)
{
var out = widget.system("/bin/bash -c set", null).outputString;
document.getElementById("content").innerText = out;
}
}
Для моего экспериментального виджета я использовал область прокрутки и кнопку.DoGetEnv (событие) запускается при нажатии, установленном через инспектор.Идентификатор «content» - это стандартное именование содержимого в области прокрутки.
В out var содержится строка с символами '\ n', для преобразования ее в массив используйте split ().
function doGetEnv(event)
{
if (window.widget)
{
var out = widget.system("/bin/bash -c set", null).outputString;
out = out.split("\n");
document.getElementById("content").innerText = out[0];
}
}
Первая запись "BASH ..." в моем случае.Если вы ищете определенный элемент, используйте метод соответствия STRING (см. Также http://www.w3schools.com/jsref/jsref_match.asp) вместе со следующими страницами по регулярным выражениям:
Для кэширования среды вы можете использовать:
var envCache = "";
function cacheENV()
{
envCache = widget.system("/bin/bash -c set", null).outputString;
envCache = envCache.split("\n");
}
Это оставит массив в envCache. Альтернатива:
function cacheENV()
{
var envCache = widget.system("/bin/bash -c set", null).outputString;
envCache = envCache.split("\n");
return envCache;
}