оновити назву терміналу зі стандартного виводу тривалої команди?


0

Я хотів би змінити заголовок вікна терміналу під час тривалої команди (наприклад git svn fetch:) зі значеннями, зібраними з виводу, поки записується на стандартний вихід.

Це можливо, використовуючи названі труби або трійник і xargs?

Я думаю щось подібне

git svn fetch | sed "s/^\(r\d*\).*$/ \"\\\033]0;\"\1\"\\\007\"/" | xargs -l1 echo -ne

на основі: http://tldp.org/HOWTO/Xterm-Title-3.html


Оновлення :

примусити це працювати досить:

(echo "r9" ; echo "r10") | sed "s/^\(r\d*\).*$/ \"\\\033]0;\"\1\"\\\007\"/" | xargs -l1 echo -ne

Оновлення 2:

Це майже робить те, що я хочу. Я бачу r10, але не r9:

(echo "r9" ; sleep 1 ; echo "r10") | sed "s/^\(r[0-9]*\)\.*$/\\\033]0;\1\\\007/" | xargs -0 echo -ne

Відповіді:


0

У мене немає повної відповіді, але одним із підходів було б скористатися teeдля відправки виводу з git на інший сценарій І стандартний вихід. Щось на зразок:

$ git svn fetch | tee grepping-and-prompt-changing-script.sh

Тут є кілька прикладів:

http://linux.101hacks.com/unix/tee-command-examples/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.