LINUX.ORG.RU

вопрос по lua

 


0

1

---пиша кастом текст фан виджет для awesome---

Доброго времени суток,

почтительно реквестую, как в lua в качестве значения переменной вывод команды можно забрать?

то есть, чтоб

perem1=io.input('команда_которую_вбивают_в_терминал'))

и этой переменной присваивался бы результат этой команды (первая строка из вывода, если выхлоп многострочный)

io.input вписал от балды, для пояснения, lua не знаю вообще, но надо тут фишку одну доконфигурить.

Спасибо за внимание.

★★★★★
Ответ на: комментарий от annulen

это была первая ссылка, куда я попасть. но я не настолько в предмете, чтобы суметь это применить. я, каэш, постараюсь, но кругозор уже трещит, честно говоря.

piyavking ★★★★★
() автор топика

---пиша кастом текст фан виджет для awesome---

Надмозг.

почтительно реквестую, как в lua в качестве значения переменной вывод команды можно забрать?

В последних релизах awful.util.pread() отсутствует, потому вот её реализация:

function pread(cmd)
  if cmd and cmd ~= "" then
    local f, err = io.popen(cmd, 'r')
    if f then
      local s = f:read("*all")
      f:close()
      return s
    else
      return err
    end
  end
end
Вызывать так: myvar = pread("ololo") (С любовью, ваш КО).

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

В последних релизах awful.util.pread() отсутствует

попробовал - у меня в убунтовом 3.5.6 всё работает. дописал виджет именно на awful.util.pread.

Спасибо!

piyavking ★★★★★
() автор топика
Ответ на: комментарий от piyavking

3.5.6

Там она ещё есть, а вот в 3.5.2 из git/master этой функции уже нет, и из документации она пропала (можно посмотреть на старом сайте доки, там должно быть ещё живое), что логично.

r3lgar ★★★★★
()
Ответ на: комментарий от piyavking

это написано на следующих строчках, после той что ты сюда скопировал.

если нужен пример использования, то посмотри в awful.widget.watch

actionless ★★★★★
()
Ответ на: комментарий от piyavking

по порядку номеров всегда полагал, что 3.5.6 - это «свежее», чем 3.5.2.

В мастере сейчас 3.5.2, который более свежий, чем 3.5.6, так как бампают версию только в релиз. Здесь важны не циферки, а коммит. В v3.5.2-1268-g236624c-dirty сейчас есть более свежие решения, чем в самом последнем релизе, 3.5.9.

r3lgar ★★★★★
()
Ответ на: комментарий от actionless

единственный верный путь — асинхронный

А, так вот почему я старую функцию не нашёл? Оно уже в апстриме. Что-то засиделся я в криокамере.

r3lgar ★★★★★
()
Последнее исправление: r3lgar (всего исправлений: 1)
Ответ на: комментарий от actionless

Так я на мастере сижу. Просто провтыкал, что заменили на асинк. Если б ты не засветил тут ссылко, я бы до сих пор тупил.

Кстати, у ТСа этой функции быть не должно.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

ну так пусть собирает — на стабильной ветке слишком скучно

actionless ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.