LINUX.ORG.RU

Вывод консольной команды в виджет.

 , ,


0

2

Часто загружаю/выгружаю в Гугл с помощью консольного gdrive в скриптах.
Хотелось бы видеть на панели, что там происходит.
gdrive в консоли выполняется как-то так:

19:05:44 athost /mnt/media/Downloads $ gdrive upload -r -p 1w99GGA24P-MJXXn4n3A7hDShAgthUjLQ Backup.zip 
Uploading Backup.zip
134.2 MB/1.5 GB, Rate: 9.2 MB/s

Есть виджет, который выводит результат выполнения произвольной команды.
Делаю перенаправление вывода в файл, на 'cat <файл>' в виджете получаю строку «Uploading Backup.zip»
Как мне в него запихнуть последнюю строку, т.е. правильно сделать перенаправление вывода?

★★★★★

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

если виджет совсем не справляется ни с чем


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

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

Каком перенаправлении? Если вам последняя строка stdout нужна, то скормите tail -1 из трубы. Обновляться она не будет, наверное покажет только конечный результат выполнения. Виджет должен прогресс динамически обновлять или нет? Тут какой-нибуть tee, или даже pv, приходится.

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

Ну ты же видел результат выполнения gdrive в консоли?
Предложи что-нибудь конструктивное, конкретное в виде перенаправления в скрипте и вывода этого в виджет.
У меня не получается. Моих юзерских знаний явно не хватает.

athost ★★★★★ ()

Задачу решил. Может быть кому-нибудь пригодится.

gdrive upload -r -p 1w99GGA24P-MJXXn4n3A7hDShAgthUjLQ 2>&1 | stdbuf -oL tr '\r' '\n' > /tmp/gdrive && echo "Нет загрузок" > /tmp/gdrive

Ну и в виджете читаем из /tmp/gdrive

athost ★★★★★ ()